/* ── Self-hosted Plus Jakarta Sans (variable, latin subset) ──
   Replaces the Google Fonts <link>. That link cost two extra origins
   (fonts.googleapis.com -> fonts.gstatic.com), a render-blocking stylesheet,
   and a three-hop critical path. One local file covers weights 400-800. */
@font-face{
  font-family:'Plus Jakarta Sans';
  src:url('/fonts/plus-jakarta-sans-latin.woff2') format('woff2');
  font-weight:400 800;
  font-style:normal;
  font-display:swap;
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ── DESIGN A: Emerald Card ─────────────────────────────── */
    :root {
      --green-900: #1b4332;
      --green-800: #1b5e20;
      --green-700: #2e7d32;
      --green-600: #388e3c;
      --green-500: #4caf50;
      --green-400: #66bb6a;
      --green-200: #a5d6a7;
      --green-100: #c8e6c9;
      --green-50: #e8f5e9;
      --white: #ffffff;
      --off-white: #f8fffe;
      --text-900: #0d1f0e;
      --text-700: #1a3c1b;
      --text-500: #3a6b3c;
      --text-300: #6a9b6c;
      --shadow-sm: 0 1px 3px rgba(27, 67, 50, .10), 0 1px 2px rgba(27, 67, 50, .06);
      --shadow-md: 0 4px 16px rgba(27, 67, 50, .13), 0 2px 6px rgba(27, 67, 50, .08);
      --shadow-lg: 0 8px 30px rgba(27, 67, 50, .18), 0 4px 10px rgba(27, 67, 50, .10);
      --shadow-green: 0 4px 20px rgba(46, 125, 50, .30);
      --r4: 4px;
      --r8: 8px;
      --r12: 12px;
      --r20: 20px;
      --r50: 50px;
      --font: 'Plus Jakarta Sans', sans-serif;
      
  /* semantic aliases */
  --primary:     var(--green-700);
  --primary-dk:  var(--green-800);
  --primary-lt:  var(--green-100);
  --primary-mid: var(--green-200);
  --accent:      var(--green-500);
  --accent-dk:   var(--green-600);

  /* gradients */
  --grad-start:  #66bb6a;   /* green-400 */
  --grad-mid:    #388e3c;   /* green-600 */
  --grad-end:    #1b5e20;   /* green-800 */

  /* text */
  --text-dark:   #0d2211;
  --text-mid:    #1b4332;
  --text-soft:   #4a7c59;

  /* shadows */
  --shadow:      rgba(27,94,32,0.20);
  --shadow-sm:   rgba(0,0,0,0.07);
}

    }

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

    html {
      scroll-behavior: smooth;
      font-size: 16px
    }

    body {
      background: var(--off-white);
      color: var(--text-900);
      font-family: var(--font);
      line-height: 1.7;
      -webkit-text-size-adjust: 100%;
      margin: 0;
    }

    a {
      color: var(--green-700);
      text-underline-offset: 3px
    }

    a:focus-visible,
    button:focus-visible {
      outline: 3px solid var(--green-500);
      outline-offset: 3px;
      border-radius: 3px
    }

    .skip-link {
      position: absolute;
      top: -100%;
      left: 0;
      background: var(--green-700);
      color: #fff;
      padding: 10px 18px;
      font-weight: 700;
      z-index: 9999;
      border-radius: 0 0 var(--r8) 0;
      text-decoration: none
    }

    .skip-link:focus {
      top: 0
    }

    /* HEADER — gradient green */
    .site-header {
      background: linear-gradient(135deg, var(--green-900) 0%, var(--green-700) 100%);
      border-bottom: none;
      position: sticky;
      top: 0;
      z-index: 100;
      box-shadow: var(--shadow-md)
    }

    .header-inner {
      max-width: 960px;
      margin: 0 auto;
      padding: 12px 16px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px
    }

    .site-logo {
      display: flex;
      align-items: center;
      gap: 10px;
      text-decoration: none
    }

    .logo-badge {
      width: 44px;
      height: 44px;
      background: var(--green-400);
      border-radius: var(--r12);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.1rem;
      font-weight: 800;
      color: var(--green-900);
      flex-shrink: 0;
      box-shadow: var(--shadow-sm)
    }

    .logo-text {
      font-size: 1.4rem;
      font-weight: 800;
      color: #fff;
      line-height: 1;
      letter-spacing: 0.8px;
    }

    .logo-sub {
      display: block;
      font-size: .6rem;
      font-weight: 600;
      color: var(--green-200);
      letter-spacing: 2px;
      text-transform: uppercase;
      margin-top: 2px
    }

    .nav-toggle {
      background: rgba(255, 255, 255, .15);
      border: 1px solid rgba(255, 255, 255, .3);
      border-radius: var(--r8);
      padding: 7px 11px;
      cursor: pointer;
      color: #fff;
      font-size: 1.3rem;
      line-height: 1
    }

    .site-nav {
      background: var(--green-900);
      border-top: 1px solid rgba(255, 255, 255, .1);
      display: none;
      padding: 8px 16px 12px
    }

    .site-nav.open {
      display: block
    }

    .site-nav ul {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 2px
    }

    .site-nav ul li a {
      display: block;
      color: var(--green-100);
      text-decoration: none;
      padding: 10px 14px;
      border-radius: var(--r8);
      font-weight: 600;
      font-size: .9rem;
      transition: background .15s, color .15s
    }

    .site-nav ul li a:hover,
    .site-nav ul li a[aria-current="page"] {
      background: var(--green-800);
      color: #fff
    }

    /* TICKER */
    .ticker-bar {
      background: var(--green-700);
      overflow: hidden;
      padding: 8px 0
    }

    .ticker-track {
      display: flex;
      width: max-content;
      animation: scrolltick 55s linear infinite;
      white-space: nowrap
    }

    .ticker-track:hover {
      animation-play-state: paused
    }

    .ticker-track span {
      padding: 0 28px;
      font-size: .82rem;
      font-weight: 700;
      color: #fff
    }

    .ticker-track span b {
      color: var(--green-100);
      font-size: .95rem;
          color: #F2F8F2;
    }

    .ticker-track span span {
      width: 9px;
      font-size: 12px;
      height: 9px;
      padding: 0;
    }

    @keyframes scrolltick {
      from {
        transform: translateX(0)
      }

      to {
        transform: translateX(-50%)
      }
    }

    .live-dot {
      display: inline-block;
      width: 9px;
      height: 9px;
      min-width: 9px;
      min-height: 9px;
      flex-shrink: 0;
      background: #69f0ae;
      border-radius: 50%;
      margin-right: 6px;
      vertical-align: middle;
      align-self: center;
      line-height: 1;
      animation: blink 1.5s ease-in-out infinite;
      box-shadow: 0 0 6px #69f0ae
    }

    @keyframes blink {

      0%,
      100% {
        opacity: 1
      }

      50% {
        opacity: .2
      }
    }

    /* PAGE */
    .page-wrap {
      max-width: 960px;
      margin: 0 auto;
      padding: 16px 14px
    }

    /* SECTION BAR — pill badge style */
    .sec-bar {
      background: var(--green-700);
      padding: 11px 16px;
      margin-bottom: 0;
      border-radius: var(--r12) var(--r12) 0 0
    }

    .sec-bar h2,
    .sec-bar h3 {
      font-size: .88rem;
      font-weight: 700;
      color: #fff;
      letter-spacing: 1.2px;
      text-transform: uppercase
    }

    /* CARD — floating with shadow */
    .card {
      background: var(--white);
      border: none;
      border-radius: var(--r12);
      margin-bottom: 16px;
      overflow: hidden;
      box-shadow: var(--shadow-md)
    }

    .card-body {
      padding: 16px
    }

    /* RESULT GRID — 1 col on mobile, 2 col ≥461px, 3 col ≥700px */
    .result-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 12px;
      padding: 14px
    }

    @media(min-width:461px) {
      .result-grid {
        grid-template-columns: 1fr 1fr
      }
    }

    .res-card {
      background: var(--green-50);
      border: 2px solid var(--green-100);
      border-radius: var(--r12);
      padding: 14px 10px 14px;
      text-align: center;
      transition: transform .15s, box-shadow .15s;
      cursor: pointer;
      position: relative
    }

    .res-card .schedule-badge {
      position: absolute;
      top: -8px;
      left: 10px;
      font-size: .58rem;
      font-weight: 700;
      background: var(--green-700);
      color: #fff;
      padding: 2px 7px;
      border-radius: 20px;
      letter-spacing: .3px;
      text-transform: uppercase;
      line-height: 1.4
    }

    .res-card:hover {
      transform: translateY(-3px);
      box-shadow: var(--shadow-green)
    }

    /* Kalyan — hero card */
    .res-card--kalyan {
      background: linear-gradient(145deg, #e8f5e9, #c8e6c9);
      border: 2px solid var(--green-400);
      box-shadow: var(--shadow-green)
    }

    .res-card .market-name {
      font-size: 1.65rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0;
      color: var(--text-500);
      margin:0;
      margin-bottom: 6px;
      line-height: 1.2
    }
    .matak-live-result button {
        font-size: .68rem;
        font-weight: 700;
        padding: 5px 16px;
        border-radius: var(--r50);
        text-decoration: none;
        letter-spacing: .5px;
        text-transform: uppercase;
        border: 2px solid;
        min-height: 32px;
        align-items: center;
        margin: 8px 0px;
        transition: background .15s, color .15s;
        background: var(--green-700);
        color: #fff;
        border-color: var(--green-700);
    }
    .matak-live-result button:hover {
        background: var(--off-white);
        color: var(--green-700);
        border-color: var(--green-700);
    }
    /* BIG results */
    .res-card .result-num {
      font-size: 1.9rem;
      font-weight: 800;
      color: var(--green-800);
      letter-spacing: 2px;
      line-height: 1.15;
      margin:0;
    }

    .res-card--kalyan .result-num {
      font-size: 2.1rem;
      color: var(--green-900)
    }

    .res-card .result-holiday {
      font-size: 1rem;
      font-weight: 700;
      color: #c62828;
      letter-spacing: 1px
    }

    .res-card .result-time {
      font-size: .62rem;
      color: var(--text-900);
      margin-top: 5px
    }

    .res-links {
      display: flex;
      justify-content: center;
      gap: 8px;
      margin-top: 10px
    }
    .resultads {
        margin-top: 10px;
    }
    
    .resultads span {
        display: block;
        font-size: 14px;
        line-height: 22px;
        font-weight: 600;
        color: var(--green-900);
    }

    /* PILL ACTION BUTTONS */
    .res-links a {
      font-size: .68rem;
      font-weight: 700;
      padding: 5px 16px;
      border-radius: var(--r50);
      text-decoration: none;
      letter-spacing: .5px;
      text-transform: uppercase;
      border: 2px solid;
      min-height: 32px;
      display: flex;
      align-items: center;
      transition: background .15s, color .15s
    }

    .res-links a.lnk-jodi {
      color: var(--green-700);
      border-color: var(--green-400);
      background: #fff
    }

    .res-links a.lnk-panel {
      color: #1565c0;
      border-color: #90caf9;
      background: #fff
    }

    .res-links a:hover {
      background: var(--green-700);
      color: #fff;
      border-color: var(--green-700)
    }

    /* CHART TABLE */
    .table-wrap {
      overflow-x: auto;
      -webkit-overflow-scrolling: touch
    }

    .chart-table {
      width: 100%;
      border-collapse: separate;
      border-spacing: 0;
      font-size: .76rem;
      min-width: 560px
    }

    .chart-table caption {
      font-size: .72rem;
      color: var(--text-300);
      text-align: left;
      padding: 6px 14px;
      caption-side: bottom
    }

    .chart-table th {
      background: var(--green-800);
      color: #fff;
      padding: 9px 10px;
      text-align: center;
      font-weight: 700;
      border: 1px solid var(--green-700);
      white-space: nowrap
    }

    .chart-table th:first-child {
      border-radius: 0
    }

    .chart-table td {
      padding: 7px 9px;
      text-align: center;
      border: 1px solid var(--green-100);
      color: var(--text-900);
      white-space: nowrap
    }

    .chart-table tr:nth-child(odd) td {
      background: var(--green-50)
    }

    .chart-table tr:nth-child(even) td {
      background: #fff
    }

    .chart-table td.td-date {
      color: var(--green-800);
      font-weight: 700;
      font-size: .7rem
    }

    .chart-table td.td-jodi {
      color: var(--green-900);
      font-weight: 800;
      font-size: .9rem
    }

    /* GUESSES */
    .guess-section {
      padding: 14px
    }

    .guess-label {
      font-size: .9rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 1px;
      margin-bottom: 8px;
      margin-top: 14px;
      display: flex;
      align-items: center;
      gap: 6px
    }

    .guess-label:first-child {
      margin-top: 0
    }

    .num-pills {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      list-style: none;
      padding: 0;
      margin: 0
    }

    .num-pills li {
      list-style: none
    }

    .num-pills li::marker,
    .num-pills::marker {
      display: none;
      content: none
    }

    .num-pill {
      background: var(--green-700);
      border: none;
      border-radius: var(--r8);
      padding: 5px 15px;
      font-size: 1.5rem;
      font-weight: 800;
      color: #fff;
      letter-spacing: 2px;
      min-width: 45px;
      text-align: center;
      box-shadow: var(--shadow-sm)
    }

    /* PASSING RECORD */
    .pass-list {
      padding: 12px;
      display: flex;
      flex-direction: column;
      gap: 8px
    }

    .pass-item {
      background: var(--green-50);
      border-left: 4px solid var(--green-500);
      border-radius: var(--r8);
      padding: 10px 14px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 6px;
      box-shadow: var(--shadow-sm)
    }

    .pass-name {
      color: var(--text-700);
      font-size: .84rem;
      font-weight: 600
    }

    .pass-num {
      font-size: 1.6rem;
      font-weight: 800;
      color: var(--green-800);
      letter-spacing: 3px
    }

    .pass-badge {
      background: var(--green-800);
      color: #fff;
      font-size: .65rem;
      font-weight: 700;
      padding: 4px 14px;
      border-radius: var(--r50);
      text-transform: uppercase;
      letter-spacing: .5px;
      min-height: 28px;
      display: flex;
      align-items: center
    }

    /* PANNA / LINE / JODI — panna 1 col mobile, 2 col ≥461px */
    .panna-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 6px;
      padding: 12px
    }

    @media(min-width:461px) {
      .panna-grid {
        grid-template-columns: 1fr 1fr
      }
    }

    .panna-row {
      background: var(--off-white);
      border: 1px solid var(--green-200);
      border-radius: var(--r8);
      padding: 10px 14px;
      font-size: 1rem;
      color: var(--text-900);
      line-height: 1.6
    }

    .panna-row strong {
      color: var(--green-800);
      margin-right: 6px;
      font-size: 1.2rem;
      font-weight: 800
    }

    .line-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 8px;
      padding: 12px
    }

    .line-item {
      background: var(--green-50);
      border: 1px solid var(--green-200);
      border-radius: var(--r8);
      padding: 12px 10px;
      text-align: center
    }

    .line-day {
      font-size: .78rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .8px;
      color: var(--green-700);
      margin-bottom: 6px
    }

    .line-nums {
      font-size: 1.1rem;
      font-weight: 800;
      color: var(--green-900);
      letter-spacing: 1px
    }

    .jodi-list {
      padding: 12px;
      display: flex;
      flex-direction: column;
      gap: 6px
    }

    .jodi-row {
      background: var(--green-50);
      border: 1px solid var(--green-200);
      border-radius: var(--r8);
      padding: 9px 14px;
      font-size: .9rem;
      font-weight: 700;
      color: var(--green-800);
      letter-spacing: .5px
    }

    /* HOT LINKS — solid filled buttons */
    .hot-links {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
      padding: 12px
    }

    .hot-links a {
      background: var(--green-700);
      border: none;
      border-radius: var(--r8);
      color: #fff;
      text-decoration: none;
      padding: 12px 8px;
      font-size: .78rem;
      font-weight: 700;
      text-align: center;
      text-transform: uppercase;
      letter-spacing: .5px;
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 46px;
      box-shadow: var(--shadow-sm);
      transition: background .15s, box-shadow .15s
    }

    .hot-links a:hover {
      background: var(--green-900);
      box-shadow: var(--shadow-green)
    }

    /* TIPS */
    .tips-card {
      background: var(--green-50);
      border: 1px solid var(--green-100);
      border-radius: var(--r8);
      padding: 12px;
      margin-bottom: 8px
    }

    .tips-market {
      font-size: 1rem;
      font-weight: 800;
      color: var(--green-800);
      text-transform: uppercase;
      letter-spacing: 1px;
      margin-bottom: 2px
    }

    .tips-date {
      font-size: .72rem;
      color: var(--text-300);
      margin-bottom: 8px
    }

    .tips-placeholder {
      font-size: 1.6rem;
      color: var(--green-600);
      text-align: center;
      letter-spacing: 6px;
      padding: 6px 0;
      font-weight: 800
    }

    .tips-note {
      font-size: .72rem;
      color: var(--text-300);
      text-align: center;
      margin-top: 4px;
      text-transform: uppercase;
      letter-spacing: .5px
    }

    /* TELEGRAM — big CTA */
    .tg-box {
      background: linear-gradient(135deg, var(--green-50), #fff);
      border: 2px solid var(--green-400);
      border-radius: var(--r12);
      padding: 20px;
      text-align: center;
      margin-bottom: 16px;
      box-shadow: var(--shadow-sm)
    }

    .tg-box h3 {
      font-size: 1.05rem;
      font-weight: 800;
      color: var(--green-900);
      margin-bottom: 6px;
      text-transform: uppercase;
      letter-spacing: 1px
    }

    .tg-box p {
      font-size: .82rem;
      color: var(--text-500);
      margin-bottom: 12px
    }

    .tg-btn {
      display: inline-flex;
      align-items: center;
      background: var(--green-700);
      color: #fff;
      text-decoration: none;
      padding: 13px 30px;
      border-radius: var(--r50);
      font-size: .92rem;
      font-weight: 700;
      letter-spacing: .5px;
      box-shadow: var(--shadow-green);
      min-height: 48px
    }

    .tg-btn:hover {
      background: var(--green-900);
      color: #fff
    }

    .tg-checks {
      display: flex;
      justify-content: center;
      gap: 14px;
      margin-top: 10px;
      font-size: .72rem;
      color: var(--text-300)
    }

    /* POLL */
    .poll-body {
      padding: 12px
    }

    .poll-label {
      font-size: .84rem;
      color: var(--text-900);
      margin-bottom: 10px;
      font-weight: 700
    }

    .poll-nums {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      margin-bottom: 14px
    }

    .poll-btn {
      background: #fff;
      border: 2px solid var(--green-300, #a5d6a7);
      color: var(--green-900);
      font-size: 1.05rem;
      font-weight: 800;
      width: 52px;
      height: 52px;
      border-radius: var(--r50);
      cursor: pointer;
      transition: all .15s;
      box-shadow: var(--shadow-sm)
    }

    .poll-btn:hover,
    .poll-btn[aria-pressed="true"] {
      background: var(--green-700);
      border-color: var(--green-700);
      color: #fff;
      box-shadow: var(--shadow-green)
    }

    .poll-bar-row {
      margin-bottom: 8px
    }

    .poll-bar-label {
      display: flex;
      justify-content: space-between;
      font-size: .76rem;
      color: var(--text-700);
      margin-bottom: 3px
    }

    .poll-track {
      background: var(--green-100);
      border-radius: 20px;
      height: 10px;
      overflow: hidden
    }

    .poll-fill {
      height: 100%;
      border-radius: 20px;
      background: linear-gradient(90deg, var(--green-700), var(--green-400))
    }

    /* SIDE LINKS — bigger font on mobile */
    .side-links {
      padding: 8px 12px 12px;
      display: flex;
      flex-direction: column;
      gap: 2px
    }

    .side-links a {
      display: flex;
      align-items: center;
      gap: 10px;
      color: var(--text-700);
      text-decoration: none;
      padding: 11px 10px;
      border-radius: var(--r8);
      font-size: 1rem;
      font-weight: 700;
      transition: background .15s, color .15s;
      min-height: 46px;
      line-height: 1.3
    }

    .side-links a::before {
      content: "▶";
      color: var(--green-500);
      font-size: .65rem;
      flex-shrink: 0
    }

    .side-links a:hover {
      background: var(--green-50);
      color: var(--green-900)
    }

    /* CONTENT */
    .content-article {
      padding: 18px 16px
    }

    .content-article h1 {
      font-size: 1.45rem;
      font-weight: 800;
      color: var(--green-900);
      margin-bottom: 12px;
      padding-bottom: 10px;
      border-bottom: 3px solid var(--green-400);
      line-height: 1.25
    }

    .content-article h2 {
      font-size: 1.2rem;
      font-weight: 700;
      color: var(--green-800);
      margin: 22px 0 10px;
      padding-left: 12px;
      border-left: 4px solid var(--green-500);
      line-height: 1.3
    }

    .content-article h3 {
      font-size: 1rem;
      font-weight: 700;
      color: var(--green-700);
      margin: 16px 0 8px
    }

    .content-article h4 {
      font-size: .92rem;
      font-weight: 700;
      color: var(--text-900);
      margin: 12px 0 6px
    }

    .content-article p {
      color: var(--text-900);
      margin-bottom: 12px;
      font-size: .93rem;
      line-height: 1.8
    }

    .content-article ul,
    .content-article ol {
      padding-left: 20px;
      margin-bottom: 12px
    }

    .content-article ul li,
    .content-article ol li {
      color: var(--text-900);
      margin-bottom: 6px;
      font-size: .91rem;
      line-height: 1.75
    }

    .content-article ul li::marker {
      color: var(--green-500)
    }

    .content-article ol li::marker {
      color: var(--green-700);
      font-weight: 700
    }

    .content-article strong {
      color: var(--green-900)
    }

    /* STRATEGY */
    .strategy-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 10px;
      margin-top: 12px
    }

    .strat-card {
      background: var(--green-50);
      border: 1px solid var(--green-200);
      border-radius: var(--r12);
      padding: 14px
    }

    .strat-num {
      font-size: 2rem;
      font-weight: 800; 
      line-height: 1;
      margin-bottom: 2px
    }

    .strat-title {
      font-weight: 700;
      color: var(--green-800);
      font-size: .92rem;
      margin-bottom: 5px
    }

    .strat-text {
      font-size: .83rem;
      color: var(--text-500);
      line-height: 1.65
    }

    /* FAQ */
    .faq-list {
      display: flex;
      flex-direction: column;
      gap: 8px
    }

    .faq-item {
      background: #fff;
      border: 1px solid var(--green-200);
      border-radius: var(--r12);
      overflow: hidden;
      box-shadow: var(--shadow-sm)
    }

    .faq-question {
      width: 100%;
      background: transparent;
      border: none;
      text-align: left;
      cursor: pointer;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 10px;
      padding: 14px 16px;
      color: var(--text-900);
      font-family: var(--font);
      font-size: .9rem;
      font-weight: 700;
      line-height: 1.4;
      min-height: 52px
    }

    .faq-question:hover {
      background: var(--green-50)
    }

    .faq-icon {
      width: 26px;
      height: 26px;
      background: var(--green-800);
      border-radius: var(--r50);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: .8rem;
      color: #fff;
      font-weight: 700;
      flex-shrink: 0;
      transition: transform .25s, background .25s
    }

    .faq-item.open .faq-question .faq-icon {
      transform: rotate(180deg);
      background: var(--green-900)
    }

    .faq-answer {
      display: none;
      padding: 12px 16px 14px;
      font-size: .87rem;
      color: var(--text-700);
      line-height: 1.8;
      border-top: 1px solid var(--green-100)
    }

    .faq-item.open .faq-answer {
      display: block
    }

    .faq-answer strong {
      color: var(--green-900)
    }

    .faq-answer ul,
    .faq-answer ol {
      padding-left: 18px;
      margin: 8px 0
    }

    .faq-answer ul li,
    .faq-answer ol li {
      margin-bottom: 5px
    }

    .faq-answer ul li::marker {
      color: var(--green-500)
    }

    .faq-category {
      font-size: .78rem;
      color: var(--green-700);
      letter-spacing: 2px;
      text-transform: uppercase;
      margin: 16px 0 6px;
      padding-left: 2px;
      font-weight: 700
    }

    .faq-category:first-child {
      margin-top: 0
    }

    /* DISCLAIMER */
    .disclaimer {
      background: rgba(46, 125, 50, .06);
      border: 1px solid rgba(46, 125, 50, .2);
      border-radius: var(--r8);
      padding: 12px 14px;
      font-size: .78rem;
      color: var(--text-500);
      margin-bottom: 14px;
      line-height: 1.65
    }

    .disclaimer strong {
      color: var(--green-700)
    }

    /* FOOTER */
    .site-footer {
      background: var(--green-900);
      border-top: none;
      padding: 28px 16px 20px
    }

    .footer-inner {
      max-width: 960px;
      margin: 0 auto
    }

    .footer-logo {
      font-size: 1.5rem;
      font-weight: 800;
      color: var(--green-200);
      letter-spacing: 2px;
      margin-bottom: 12px
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 20px;
      margin-bottom: 20px
    }

    .footer-col h3 {
      font-size: .72rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 1.5px;
      color: var(--green-300, #a5d6a7);
      margin-bottom: 10px;
      padding-bottom: 6px;
      border-bottom: 1px solid rgba(255, 255, 255, .1)
    }

    .footer-col a {
      display: block;
      color: var(--green-200);
      text-decoration: none;
      font-size: .78rem;
      padding: 3px 0;
      transition: color .15s
    }

    .footer-col a:hover {
      color: #fff
    }

    .footer-bottom {
      border-top: 1px solid rgba(255, 255, 255, .1);
      padding-top: 14px;
      font-size: .72rem;
      color: var(--green-200);
      text-align: center
    }

    /* LAYOUT */
    .visually-hidden {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0
    }

    @media(min-width:700px) {
      .site-nav {
        display: block;
        border-top: none;
        padding: 0
      }

      .site-nav ul li {
        padding: 5px 0;
      }

      .site-nav ul {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 4px;
        padding: 0;
        max-width: 960px;
        margin: 0 auto;
      }

      .nav-toggle {
        display: none
      }

      .strategy-grid {
        grid-template-columns: 1fr 1fr
      }

      .result-grid {
        grid-template-columns: repeat(3, 1fr)
      }

      .footer-grid {
        grid-template-columns: repeat(2, 1fr)
      }

      .content-with-sidebar {
        display: grid;
        grid-template-columns: 1fr;
        gap: 16px;
        align-items: start
      }

      .res-card .result-num {
        font-size: 2rem
      }

      .res-card--kalyan .result-num {
        font-size: 2.1rem
      }
    }

    /*new design chat section of 10 week chart data*/

    /* ── Page Header ── */
    .page-header {
      background: var(--green-700);
      border-radius: 12px 12px 0 0;
      padding: 10px 14px 8px;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    .page-header h2 {
      font-size: 18px;
      font-weight: 700;
      color: #fff;
      letter-spacing: 0.03em;
    }

    .page-header p {
      font-size: 10px;
      color: #5DCAA5;
    }

    
/* ══════════════════════════════════════════════
   TOPBAR spinner CSS
══════════════════════════════════════════════ */
.topbar {
  width: 100%;
  background: var(--white);
  border-bottom: 2px solid var(--green-100);
  padding: 14px 0px 12px;
  text-align: center;
  box-shadow: 0 2px 12px var(--shadow-sm);
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
}

.topbar-title {
  font-size: 1.25rem;
  font-weight: 900;
  color: var(--text-dark);
  letter-spacing: 0.01em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.topbar-title .icon-circle {
  width: 30px; height: 30px;
  background: linear-gradient(135deg, var(--grad-start), var(--grad-end));
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  box-shadow: 0 2px 8px var(--shadow);
}

.topbar-sub {
  font-size: 0.72rem;
  color: var(--text-soft);
  margin-top: 2px;
  font-weight: 600;
  letter-spacing: 0.03em;
}

/* ══════════════════════════════════════════════
   LIVE BADGE
══════════════════════════════════════════════ */
.live-badge-wrap {
  width: 100%;
  padding: 14px 20px;
  background: var(--white);
  display: flex;
  justify-content: center;
}

.live-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, var(--green-700), var(--green-900));
  color: #fff;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 10px 28px;
  border-radius: 50px;
  box-shadow: 0 4px 18px rgba(27,94,32,0.38);
}

.live-dot {
  width: 9px; height: 9px;
  background: #b9f6ca;
  border-radius: 50%;
  animation: pulse-dot 1.4s ease-in-out infinite;
  flex-shrink: 0;
}

@keyframes pulse-dot {
  0%, 100% { opacity:1; transform:scale(1); }
  50%       { opacity:0.4; transform:scale(0.65); }
}

/* ══════════════════════════════════════════════
   MAIN GRADIENT CARD
══════════════════════════════════════════════ */
.main-card {
  width: 100%;
  margin: 10px 0px;
  background: linear-gradient(160deg, var(--grad-start) 0%, var(--grad-mid) 48%, var(--grad-end) 100%);
  border-radius: 24px;
  padding: 22px 0px 24px;
  box-shadow: 0 8px 36px var(--shadow), 0 2px 8px rgba(0,0,0,0.1);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  position: relative;
  overflow: hidden;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  margin-top: 0;
}

/* shimmer glows */
.main-card::before {
  content: '';
  position: absolute;
  top: -45px; right: -45px;
  width: 170px; height: 170px;
  background: radial-gradient(circle, rgba(255,255,255,0.14) 0%, transparent 65%);
  pointer-events: none;
}
.main-card::after {
  content: '';
  position: absolute;
  bottom: -32px; left: -32px;
  width: 130px; height: 130px;
  background: radial-gradient(circle, rgba(255,255,255,0.09) 0%, transparent 65%);
  pointer-events: none;
}

/* ── MARKET PANEL ── */
.market-panel {
  width: 100%;
  background: rgba(255,255,255,0.16);
  border-radius: 14px;
  padding: 12px 12px 10px;
  backdrop-filter: blur(4px);
}

.market-panel-label {
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.72);
  margin-bottom: 9px;
  text-align: center;
}

.markets-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: center;
}

.mkt-btn {
  font-family: 'Nunito', sans-serif;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 6px 11px;
  border-radius: 50px;
  border: 1.5px solid rgba(255,255,255,0.38);
  background: rgba(255,255,255,0.14);
  color: #fff;
  cursor: pointer;
  transition: all 0.18s;
  white-space: nowrap;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}

.mkt-btn:hover:not(.spun):not(.active) {
  background: rgba(255,255,255,0.26);
  border-color: rgba(255,255,255,0.7);
}

.mkt-btn.active {
  background: #fff;
  border-color: #fff;
  color: var(--green-700);
  box-shadow: 0 2px 12px rgba(255,255,255,0.38);
}

.mkt-btn.spun {
  background: rgba(185,246,202,0.22);
  border-color: rgba(185,246,202,0.6);
  color: #d4ffde;
  cursor: default;
}
.mkt-btn.spun::after { content: ' ✓'; font-size: 0.62rem; }

/* ── CURRENT MARKET TAG ── */
.current-market-tag {
  background: rgba(255,255,255,0.2);
  border: 1.5px solid rgba(255,255,255,0.42);
  border-radius: 50px;
  padding: 7px 22px;
  font-size: 0.95rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0,0,0,0.18);
  text-align: center;
  margin-left: 10px;
}

/* ── WHEEL ── */
.wheel-wrap {
  position: relative;
  width: min(268px, 74vw);
  height: min(268px, 74vw);
  border-radius: 50%;
  flex-shrink: 0;
}

.wheel-ring {
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 3px solid rgba(255,255,255,0.58);
  box-shadow: 0 0 0 2px rgba(255,255,255,0.18), 0 8px 32px rgba(0,0,0,0.22);
  pointer-events: none;
}

/* pointer / indicator triangle */
.wheel-pointer {
  position: absolute;
  top: -18px;
  left: 53%;
  transform: translateX(-50%);
  width: 0; height: 0;
  border-left: 11px solid transparent;
  border-right: 11px solid transparent;
  border-top: 20px solid #fff;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.35));
  z-index: 2;
}

#wheel-svg {
  width: 100%; height: 100%;
  border-radius: 50%;
  display: block;
  will-change: transform;
  box-shadow: 0 4px 24px rgba(0,0,0,0.28);
}

/* ── SPIN BUTTON ── */
.spin-btn {
  font-family: 'Nunito', sans-serif;
  font-size: 1.15rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--green-800);
  background: #fff;
  border: none;
  padding: 14px 52px;
  border-radius: 50px;
  cursor: pointer;
  transition: transform 0.15s, box-shadow 0.15s;
  box-shadow: 0 4px 20px rgba(0,0,0,0.18), 0 2px 0 rgba(0,0,0,0.08);
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}
.spin-btn:hover:not(:disabled) {
  transform: translateY(-3px);
  box-shadow: 0 10px 28px rgba(0,0,0,0.22);
}
.spin-btn:active:not(:disabled) {
  transform: translateY(1px);
  box-shadow: 0 2px 8px rgba(0,0,0,0.14);
}
.spin-btn:disabled {
  background: rgba(255,255,255,0.32);
  color: rgba(255,255,255,0.55);
  cursor: not-allowed;
  box-shadow: none;
}

.status-msg {
  font-size: 0.8rem;
  font-weight: 700;
  color: rgba(255,255,255,0.84);
  text-align: center;
  min-height: 18px;
  letter-spacing: 0.02em;
}

/* ══════════════════════════════════════════════
   RESULTS SECTION
══════════════════════════════════════════════ */
.results-section {
  width: 100%;
  padding: 18px 0 4px;
}

.results-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  padding: 0 4px;
}

.results-title {
  font-size: 0.9rem;
  font-weight: 900;
  color: var(--text-dark);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.results-count-badge {
  font-size: 0.62rem;
  font-weight: 800;
  background: linear-gradient(135deg, var(--green-500), var(--green-800));
  color: #fff;
  padding: 3px 10px;
  border-radius: 50px;
  letter-spacing: 0.06em;
}

/* compact results grid — 3 columns */
.results-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}

/* green result card — compact chip */
.result-card {
  background: var(--green-100);
  border-radius: 10px;
  padding: 7px 8px 7px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  box-shadow: 0 1px 6px var(--shadow-sm);
  animation: slideIn 0.25s ease both;
  border: 1px solid rgba(56,142,60,0.1);
  border-left: 3px solid var(--green-500);
  transition: background 0.15s;
}

@keyframes slideIn {
  from { opacity:0; transform:translateY(6px); }
  to   { opacity:1; transform:translateY(0); }
}

.result-card:hover {
  background: var(--green-200);
  border-left-color: var(--green-700);
}

.result-card-left { display:flex; flex-direction:column; gap:1px; min-width:0; flex:1; }

.result-market-name {
  font-size: 0.58rem;
  font-weight: 900;
  color: var(--green-800);
  letter-spacing: 0.03em;
  text-transform: uppercase;
  white-space: pre-line;
  overflow: hidden;
  text-overflow: ellipsis;
}

.result-time {
  font-size: 0.55rem;
  font-weight: 600;
  color: var(--text-soft);
  line-height: 1;
}

.result-num-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px; height: 30px;
  border-radius: 50%;
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.1rem;
  line-height: 1;
  color: #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,0.22);
  flex-shrink: 0;
}

/* ══════════════════════════════════════════════
   WHATSAPP SECTION
══════════════════════════════════════════════ */
.wa-section {
  width: 100%;
  padding: 16px 0 4px;
  display: none;
  flex-direction: column;
  gap: 10px;
  margin-bottom:10px;
}
.wa-section.visible { display: flex; }

.wa-card {
  background: var(--white);
  border-radius: 20px;
  padding: 18px 16px;
  box-shadow: 0 2px 16px var(--shadow-sm);
  border: 1.5px solid var(--green-100);
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.wa-title-row { display:flex; align-items:center; gap:10px; }

.wa-icon-circle {
  width: 32px; height: 32px;
  background: #25D366;
  border-radius: 50%;
  display: flex; align-items:center; justify-content:center;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(37,211,102,0.3);
}

.wa-card-title {
  font-size: 0.9rem;
  font-weight: 900;
  color: var(--text-dark);
  letter-spacing: 0.03em;
}

.wa-input-row { display:flex; gap:8px; align-items:center; }

/* wa-country removed */

.wa-input {
  flex: 1;
  background: var(--bg);
  border: 1.5px solid #cde8cf;
  border-radius: 12px;
  color: var(--text-dark);
  font-family: 'Nunito', sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  padding: 0 14px;
  height: 46px;
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
  min-width: 0;
}
.wa-input::placeholder { color: #aac8ac; font-weight:600; }
.wa-input:focus {
  border-color: #25D366;
  box-shadow: 0 0 0 3px rgba(37,211,102,0.12);
}
.wa-input::-webkit-outer-spin-button,
.wa-input::-webkit-inner-spin-button { -webkit-appearance:none; }

.wa-btn {
  display: flex; align-items:center; justify-content:center;
  gap: 8px;
  background: linear-gradient(135deg, #25D366, #128C7E);
  color: #fff;
  font-family: 'Nunito', sans-serif;
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: none;
  border-radius: 50px;
  padding: 13px 18px;
  cursor: pointer;
  transition: transform 0.15s, box-shadow 0.15s;
  box-shadow: 0 4px 16px rgba(37,211,102,0.3);
  width: 100%;
  -webkit-tap-highlight-color: transparent;
}
.wa-btn:hover { transform:translateY(-2px); box-shadow:0 8px 22px rgba(37,211,102,0.4); }
.wa-btn:active { transform:translateY(1px); }

.wa-hint {
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--text-soft);
  text-align: center;
  line-height: 1.5;
}

.wa-error {
  font-size: 0.72rem;
  font-weight: 700;
  color: #c62828;
  text-align: center;
  display: none;
}
.wa-error.show { display:block; }

/* ══════════════════════════════════════════════
   REFRESH BUTTON
══════════════════════════════════════════════ */
.refresh-wrap {
  width: 100%;
  padding: 20px 16px 8px;
  display: flex;
  justify-content: center;
}

.refresh-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, var(--green-600), var(--green-900));
  color: #fff;
  font-family: 'Nunito', sans-serif;
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border: none;
  border-radius: 50px;
  padding: 12px 36px;
  cursor: pointer;
  box-shadow: 0 4px 18px rgba(27,94,32,0.35);
  transition: transform 0.15s, box-shadow 0.15s;
  -webkit-tap-highlight-color: transparent;
}
.refresh-btn:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(27,94,32,0.45); }
.refresh-btn:active { transform:translateY(1px); }

/* ══════════════════════════════════════════════
   CONFETTI
══════════════════════════════════════════════ */
.confetti-layer { position:fixed; inset:0; pointer-events:none; z-index:999; }
.cp {
  position: absolute;
  width: 9px; height: 9px;
  opacity: 0;
  animation: cpfall 1.9s ease-in forwards;
}
@keyframes cpfall {
  0%   { opacity:1; transform:translateY(0) rotate(0deg) scale(1); }
  80%  { opacity:1; }
  100% { opacity:0; transform:translateY(240px) rotate(520deg) scale(0.4); }
}

/* ══════════════════════════════════════════════
   SPACING / RESPONSIVE
══════════════════════════════════════════════ */
.spacer-sm { height:14px; width:100%; }

@media (max-width:380px) {
  .spin-btn { padding:13px 38px; font-size:1rem; }
  .mkt-btn  { font-size:0.62rem; padding:5px 9px; }
}

/* ══════════════════════════════════════════════
   SPIN RESULT POPUP
══════════════════════════════════════════════ */
.popup-overlay {
  position: fixed; inset: 0; z-index: 1000;
  background: rgba(27,67,50,0.55);
  display: flex; align-items: center; justify-content: center;
  padding: 20px;
  opacity: 0; pointer-events: none;
  transition: opacity 0.25s ease;
}
.popup-overlay.show {
  opacity: 1; pointer-events: all;
}
.popup-box {
  background: var(--white);
  border-radius: 24px;
  padding: 28px 24px 22px;
  width: 100%; max-width: 320px;
  text-align: center;
  box-shadow: 0 16px 48px rgba(27,67,50,0.3), 0 4px 12px rgba(0,0,0,0.12);
  transform: scale(0.88) translateY(20px);
  transition: transform 0.28s cubic-bezier(.22,1,.36,1);
  position: relative;
  overflow: hidden;
}
.popup-overlay.show .popup-box {
  transform: scale(1) translateY(0);
}
/* top accent bar */
.popup-box::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 5px;
  background: linear-gradient(90deg, var(--green-400), var(--green-700), var(--green-900));
  background-size: 200% 100%;
  animation: barSlide 3s linear infinite;
}
@keyframes barSlide {
  from { background-position: 0% 0%; }
  to   { background-position: 200% 0%; }
}
.popup-market {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1rem;
  letter-spacing: 0.18em;
  color: var(--green-600);
  text-transform: uppercase;
  margin-bottom: 6px;
}
.popup-label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-soft);
  margin-bottom: 10px;
}
.popup-number {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 5.5rem;
  line-height: 1;
  color: #fff;
  width: 110px; height: 110px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 14px;
  box-shadow: 0 6px 24px rgba(0,0,0,0.22);
  transition: transform 0.3s;
}
.popup-number.pop {
  animation: numPop 0.4s cubic-bezier(.22,1,.36,1) both;
}
@keyframes numPop {
  0%   { transform: scale(0.5); opacity: 0; }
  70%  { transform: scale(1.1); }
  100% { transform: scale(1);   opacity: 1; }
}
.popup-time {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--text-soft);
  margin-bottom: 22px;
}
.popup-actions {
  display: flex;
  gap: 10px;
}
.popup-btn-next {
  flex: 1;
  background: linear-gradient(135deg, var(--green-500), var(--green-800));
  color: #fff;
  font-family: 'Nunito', sans-serif;
  font-size: 0.85rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: none;
  border-radius: 50px;
  padding: 12px 10px;
  cursor: pointer;
  box-shadow: 0 4px 14px var(--shadow);
  transition: transform 0.15s, box-shadow 0.15s;
  -webkit-tap-highlight-color: transparent;
}
.popup-btn-next:hover { transform: translateY(-2px); box-shadow: 0 8px 20px var(--shadow); }
.popup-btn-next:active { transform: translateY(1px); }
.popup-btn-close {
  flex: 0 0 auto;
  background: var(--green-100);
  color: var(--green-800);
  font-family: 'Nunito', sans-serif;
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  border: 1.5px solid var(--green-200);
  border-radius: 50px;
  padding: 12px 18px;
  cursor: pointer;
  transition: background 0.15s;
  -webkit-tap-highlight-color: transparent;
}
.popup-btn-close:hover { background: var(--green-200); }



/* #################  Poll Css ###########################*/

:root {
  --gd-poll:  #1a5c38;
  --gm-poll:  #257a4a;
  --gb-poll:  #2ea55e;
  --gl-poll:  #6fcf97;
  --gp-poll:  #d4f0e1;
  --gold-poll:#f5c518;
  --w-poll:   #ffffff;
  --ow-poll:  #f7fbf9;
  --td-poll:  #0d2b1a;
  --tm-poll:  #2c5f3e;
  --sh-poll:  0 8px 32px rgba(26,92,56,.18);
  --r-poll:   18px;
  --sr-poll:  10px;
}
 /* ── poll Card ──────────────────────────────────────────────────────────────────── */
.poll .card{
  background:var(--w-poll);border-radius:var(--r-poll);width:100%;max-width:100%;
  overflow:hidden;box-shadow:var(--sh-poll),0 0 0 3px var(--gold-poll);
  animation:su .45s cubic-bezier(.22,1,.36,1);
}
@keyframes su{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}

/* ── Header ────────────────────────────────────────────────────────────────── */
.poll .header{
  background:linear-gradient(135deg,var(--gd-poll),var(--gm-poll));
  padding:18px 20px 14px;display:flex;align-items:center;gap:10px;
  border-bottom:3px solid var(--gold-poll);
}
.poll .header-icon{font-size:1.8rem}
.poll .header-text{flex:1}
.poll .header h2{
  font-family:'Baloo 2',sans-serif;font-weight:800;font-size:1.2rem;
  color:var(--w-poll);letter-spacing:.05em;text-transform:uppercase;
}
.poll .header-sub{font-size:.75rem;color:rgba(255,255,255,.6);font-weight:600;margin-top:2px}

/* ── Tabs ──────────────────────────────────────────────────────────────────── */
.poll .tabs{display:flex;background:var(--gp-poll);border-bottom:2px solid var(--gl-poll)}
.poll .tab-btn{
  flex:1;padding:11px 6px;border:none;background:transparent;
  font-family:'Baloo 2',sans-serif;font-weight:700;font-size:.95rem;
  color:var(--tm-poll);cursor:pointer;transition:all .22s;
  letter-spacing:.04em;position:relative;
}
.poll .tab-btn::after{
  content:'';position:absolute;bottom:-2px;left:20%;right:20%;
  height:3px;background:var(--gold-poll);border-radius:3px 3px 0 0;
  transform:scaleX(0);transition:transform .22s;
}
.poll .tab-btn.active{color:var(--gd-poll);background:var(--w-poll)}
.poll .tab-btn.active::after{transform:scaleX(1)}

/* ── Panel ─────────────────────────────────────────────────────────────────── */
.poll .panel{display:none;padding:20px 20px 14px}
.poll .panel.active{display:block}
.poll .pick-label{
  font-family:'Baloo 2',sans-serif;font-size:.88rem;font-weight:600;
  color:var(--tm-poll);margin-bottom:14px;
}

/* ── Bubbles ───────────────────────────────────────────────────────────────── */
.poll .bubbles{display:flex;gap:10px;justify-content:center;margin-bottom:22px;flex-wrap:wrap}
.poll .bubble{
  width:44px;height:44px;border-radius:50%;
  border:3px solid var(--gl-poll);background:var(--ow-poll);
  display:flex;align-items:center;justify-content:center;
  font-family:'Baloo 2',sans-serif;font-weight:800;font-size:1.05rem;
  color:var(--td-poll);cursor:pointer;user-select:none;flex-shrink:0;
  transition:all .2s cubic-bezier(.34,1.56,.64,1);
}
.poll .bubble:hover{border-color:var(--gb-poll);transform:scale(1.08);box-shadow:0 4px 14px rgba(46,165,94,.25)}
.poll .bubble.selected{
  background:var(--gd-poll);border-color:var(--gold-poll);color:var(--w-poll);
  box-shadow:0 6px 20px rgba(26,92,56,.4);transform:scale(1.12);
}

/* ── Bars ──────────────────────────────────────────────────────────────────── */
.poll .bars{display:flex;flex-direction:column;gap:10px}
.poll .bar-row{display:flex;flex-direction:column;gap:3px}
.poll .bar-meta{display:flex;justify-content:space-between;font-size:.85rem;font-weight:700;color:var(--tm-poll)}
.poll .bar-track{height:10px;background:var(--gp-poll);border-radius:6px;overflow:hidden}
.poll .bar-fill{
  height:100%;border-radius:6px;min-width:0;
  background:linear-gradient(90deg,var(--gb-poll),var(--gl-poll));
  transition:width .6s cubic-bezier(.22,1,.36,1);
}
.poll .bar-row.selected .bar-meta{color:var(--gd-poll)}
.poll .bar-row.selected .bar-fill{background:linear-gradient(90deg,var(--gd-poll),var(--gb-poll))}

/* ── Your Picks ─────────────────────────────────────────────────────────────── */
.poll .your-picks{
  display:none;
  background:linear-gradient(135deg,var(--gd-poll) 0%,var(--gm-poll) 100%);
  border-top:3px solid var(--gold-poll);
  padding:16px 20px 20px;
}
.poll .your-picks.show{display:block;animation:fi .35s}
@keyframes fi{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

.poll .picks-title{
  font-family:'Baloo 2',sans-serif;font-weight:800;font-size:.8rem;
  color:rgba(255,255,255,.65);text-transform:uppercase;
  letter-spacing:.1em;margin-bottom:12px;
}
.poll .picks-row{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.poll .pick-chip{
  flex:1;min-width:90px;
  display:flex;flex-direction:column;align-items:center;
  background:rgba(255,255,255,.1);
  border:2px solid rgba(255,255,255,.2);
  border-radius:12px;padding:8px 10px;transition:all .25s;
}
.poll .pick-chip.has-val{background:rgba(245,197,24,.18);border-color:var(--gold-poll)}
.poll .pick-chip-lbl{font-size:.68rem;font-weight:700;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.06em}
.poll .pick-chip-val{
  font-family:'Baloo 2',sans-serif;font-weight:800;font-size:1.5rem;
  color:rgba(255,255,255,.35);line-height:1.2;transition:color .25s;
}
.poll .pick-chip.has-val .pick-chip-val{color:var(--gold-poll)}

.poll .pick-hint{font-size:.75rem;color:rgba(255,255,255,.5);font-style:italic;margin-bottom:12px}

/* ── Share button ──────────────────────────────────────────────────────────── */
.poll .btn-share{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;background:#25d366;color:#fff;border:none;border-radius:12px;
  padding:13px;font-family:'Baloo 2',sans-serif;font-weight:700;
  font-size:1rem;cursor:pointer;transition:all .2s;letter-spacing:.04em;
}
.poll .btn-share:hover:not(:disabled){background:#1da851;transform:scale(1.02)}
.poll .btn-share:disabled{
  background:rgba(255,255,255,.12);cursor:not-allowed;
  color:rgba(255,255,255,.35);
}
.poll .btn-share svg{width:18px;height:18px;fill:currentColor;flex-shrink:0}

/* ── Modal ─────────────────────────────────────────────────────────────────── */
.poll .overlay{
  display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);
  z-index:999;align-items:center;justify-content:center;
  backdrop-filter:blur(3px);
}
.poll .overlay.show{display:flex}
.poll .modal{
  background:var(--w-poll);border-radius:var(--r-poll);padding:26px 22px;
  width:80%;max-width:300px;
  box-shadow:0 20px 60px rgba(0,0,0,.3);
  animation:pi .3s cubic-bezier(.34,1.56,.64,1);position:relative;
}
@keyframes pi{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}
.poll .modal h2{font-family:'Baloo 2',sans-serif;font-size:1.1rem;font-weight:800;color:var(--gd-poll);margin-bottom:4px}
.poll .modal-sub{font-size:.8rem;color:var(--tm-poll);margin-bottom:12px}
.poll .modal-sum{
  background:var(--gp-poll);border-radius:var(--sr-poll);padding:10px 14px;
  margin-bottom:14px;display:flex;gap:6px;
}
.poll .ms-item{flex:1;display:flex;flex-direction:column;align-items:center}
.poll .ms-lbl{font-size:.66rem;font-weight:700;color:var(--tm-poll);text-transform:uppercase}
.poll .ms-val{font-family:'Baloo 2',sans-serif;font-weight:800;font-size:1.15rem;color:var(--gd-poll)}
.poll .ms-val.empty{color:#bbb;font-size:.85rem}
.poll .modal label{display:block;font-weight:700;font-size:.88rem;color:var(--td-poll);margin-bottom:6px}
.poll .modal input{
  width:88%;padding:11px 14px;border:2px solid var(--gl-poll);border-radius:var(--sr-poll);
  font-family:'Rajdhani',sans-serif;font-size:1rem;font-weight:600;
  color:var(--td-poll);outline:none;transition:border-color .2s;margin-bottom:14px;
}
.poll .modal input:focus{border-color:var(--gb-poll)}
.poll .modal-actions{display:flex;gap:10px}
.poll .btn-send{
  flex:1;background:linear-gradient(135deg,var(--gd-poll),var(--gb-poll));
  color:#fff;border:none;border-radius:var(--sr-poll);padding:12px;
  font-family:'Baloo 2',sans-serif;font-weight:700;font-size:1rem;
  cursor:pointer;transition:opacity .2s;
}
.poll .btn-send:hover{opacity:.88}
.poll .btn-cancel{
  padding:12px 16px;border:2px solid var(--gl-poll);background:transparent;
  border-radius:var(--sr-poll);color:var(--tm-poll);font-family:'Baloo 2',sans-serif;
  font-weight:700;cursor:pointer;transition:all .2s;
}
.poll .btn-cancel:hover{background:var(--gp-poll)}
.poll .modal-x{
  position:absolute;top:12px;right:14px;background:none;border:none;
  font-size:1.3rem;cursor:pointer;color:var(--tm-poll);line-height:1;
}

/* ── Toast ─────────────────────────────────────────────────────────────────── */
.poll .toast{
  position:fixed;bottom:24px;left:50%;
  transform:translateX(-50%) translateY(60px);
  background:var(--gd-poll);color:#fff;padding:12px 24px;border-radius:30px;
  font-family:'Baloo 2',sans-serif;font-weight:700;font-size:.9rem;
  z-index:9999;opacity:0;pointer-events:none;white-space:nowrap;
  transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .35s;
}
.poll .toast.show{transform:translateX(-50%) translateY(0);opacity:1}

/* ── Archive facts line (visible counterpart of the Dataset schema) ── */
.sm-archive-facts{
  margin:10px 0 14px;
  padding:10px 13px;
  font-size:13.5px;
  line-height:1.65;
  color:var(--text-mid,#1b4332);
  background:rgba(27,94,32,.05);
  border-left:3px solid var(--green-800,#1b5e20);
  border-radius:6px;
}
.sm-archive-facts strong{font-weight:700;color:var(--text-dark,#0d2211)}
.sm-archive-facts time{white-space:nowrap}
@media (max-width:600px){
  .sm-archive-facts{font-size:12.5px;padding:9px 11px}
}


/* ── Data methodology table ── */
.sm-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:14px 0}
.sm-data-table{border-collapse:collapse;width:100%;min-width:560px;font-size:13.5px}
.sm-data-table caption{caption-side:bottom;padding-top:9px;font-size:12px;color:var(--text-soft,#4a7c59);text-align:left}
.sm-data-table th,.sm-data-table td{padding:8px 11px;border-bottom:1px solid rgba(27,94,32,.14);text-align:left}
.sm-data-table thead th{background:rgba(27,94,32,.07);font-weight:700;color:var(--text-dark,#0d2211);white-space:nowrap}
.sm-data-table tbody th{font-weight:600}
.sm-data-table td:nth-child(4),.sm-data-table td:nth-child(5){text-align:right;font-variant-numeric:tabular-nums}
.sm-data-table tfoot th,.sm-data-table tfoot td{background:rgba(27,94,32,.05);font-weight:700;border-top:2px solid rgba(27,94,32,.25);border-bottom:none}
.sm-data-table tfoot td{text-align:right;font-variant-numeric:tabular-nums}
.sm-data-table tfoot td[colspan]{text-align:left;font-weight:600}
@media (max-width:600px){.sm-data-table{font-size:12.5px}.sm-data-table th,.sm-data-table td{padding:7px 9px}}
