    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    :root {
      --bg: hsl(220, 10%, 15%);
      --fg: hsl(0, 0%, 95%);
      --card: hsl(220, 18%, 8%);
      --card-06: hsla(220, 18%, 8%, 0.6);
      --muted: hsl(220, 15%, 14%);
      --muted-fg: hsl(220, 10%, 55%);
      --border: hsl(220, 15%, 16%);
      --border-50: hsla(220, 15%, 16%, 0.5);
      --input: hsl(220, 15%, 12%);
      --cyan: hsl(180, 85%, 55%);
      --pink: hsl(340, 82%, 58%);
      --red: hsl(355, 90%, 55%);
      --destructive: hsl(0, 84.2%, 60.2%);
      --white: hsl(0, 0%, 100%);
      --radius: 0.75rem;
    }
    body {
      font-family: 'Inter', sans-serif;
      background: var(--bg);
      color: var(--fg);
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }
    h1, h2, h3, h4, h5, h6 { font-family: 'Space Grotesk', sans-serif; }
    .glass {
      background: var(--card-06);
      backdrop-filter: blur(20px);
      border: 1px solid var(--border-50);
    }
    .gradient-tiktok {
      background: linear-gradient(135deg, var(--cyan), var(--pink));
    }
    .gradient-tiktok-text {
      background: linear-gradient(135deg, var(--cyan), var(--pink));
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    .gradient-cta {
      background: linear-gradient(135deg, var(--pink), var(--red));
    }
    .glow-pink {
      box-shadow: 0 0 40px hsla(340, 82%, 58%, 0.3), 0 0 80px hsla(340, 82%, 58%, 0.1);
    }
    /* ===== HERO ===== */
    .hero {
      position: relative;
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 2rem 1rem 4rem;
      overflow: hidden;
    }
    .hero .bg-blob {
      position: absolute;
      width: 24rem;
      height: 24rem;
      border-radius: 50%;
      filter: blur(120px);
      pointer-events: none;
    }
    .hero .bg-blob.pink { top: 25%; left: 25%; background: hsla(340, 82%, 58%, 0.05); }
    .hero .bg-blob.cyan { bottom: 25%; right: 25%; background: hsla(180, 85%, 55%, 0.05); }
    .hero-inner {
      position: relative;
      z-index: 10;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      max-width: 48rem;
      margin: 0 auto;
    }
    .hero-logo { width: 4rem; height: 4rem; border-radius: 0.75rem; }
    .hero-badge {
      margin-top: 1.5rem;
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      padding: 0.375rem 1rem;
      border-radius: 9999px;
      font-size: 0.75rem;
      font-weight: 500;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--cyan);
    }
    .hero-badge .dot {
      width: 0.5rem;
      height: 0.5rem;
      border-radius: 50%;
      background: var(--cyan);
      animation: pulse 2s infinite;
    }
    @keyframes pulse {
      0%, 100% { opacity: 1; }
      50% { opacity: 0.4; }
    }
    .hero h1 {
      margin-top: 2rem;
      font-size: clamp(2.25rem, 6vw, 4.5rem);
      font-weight: 700;
      line-height: 1.1;
      letter-spacing: -0.02em;
    }
    .hero h1 em { font-style: italic; }
    .hero-sub {
      margin-top: 1.5rem;
      font-size: 1.125rem;
      color: var(--muted-fg);
      max-width: 32rem;
    }
    .hero-form-wrap {
      margin-top: 2.5rem;
      width: 100%;
      max-width: 28rem;
    }
    .hero-form .form-card {
      border-radius: 0.75rem;
      padding: 1.5rem;
    }
    .hero-form label {
      display: block;
      font-size: 0.875rem;
      font-weight: 500;
      margin-bottom: 0.75rem;
      text-align: left;
    }
    .hero-form .input-row {
      display: flex;
      align-items: center;
      gap: 0.5rem;
      background: var(--input);
      border-radius: 0.5rem;
      padding: 0.75rem 1rem;
    }
    .hero-form .input-row span { color: var(--muted-fg); font-weight: 500; }
    .hero-form input {
      background: transparent;
      border: none;
      outline: none;
      flex: 1;
      color: var(--fg);
      font-size: 1rem;
    }
    .hero-form input::placeholder { color: var(--muted-fg); }
    .btn-cta {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      width: 100%;
      padding: 1rem;
      border: none;
      border-radius: 0.75rem;
      font-size: 1.125rem;
      font-weight: 600;
      color: var(--white);
      cursor: pointer;
      transition: transform 0.15s;
      margin-top: 1rem;
    }
    .btn-cta:hover { transform: scale(1.02); }
    .btn-cta:active { transform: scale(0.98); }
    .btn-cta:disabled { opacity: 0.7; cursor: default; }
    .spinner {
      width: 1.25rem;
      height: 1.25rem;
      border: 2px solid rgba(255,255,255,0.3);
      border-top-color: white;
      border-radius: 50%;
      animation: spin 0.6s linear infinite;
    }
    @keyframes spin { to { transform: rotate(360deg); } }
    .hero-trust {
      margin-top: 2rem;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      gap: 1.5rem;
      font-size: 0.875rem;
      color: var(--muted-fg);
    }
    .hero-trust .item { display: flex; align-items: center; gap: 0.5rem; }
    .hero-trust svg { width: 1rem; height: 1rem; color: var(--cyan); }
    .hero-trust .sep { width: 1px; height: 1rem; background: var(--border); }
    /* ===== RESULT ===== */
    .result-card {
      border-radius: 0.75rem;
      padding: 1.5rem;
      text-align: center;
    }
    .result-card .label { font-size: 0.875rem; color: var(--muted-fg); }
    .result-card .earnings {
      display: flex;
      align-items: baseline;
      justify-content: center;
      gap: 0.5rem;
      margin: 0.5rem 0;
    }
    .result-card .earnings span.amount { font-size: 2.25rem; font-weight: 700; }
    .result-card .earnings span.dash { color: var(--muted-fg); }
    .result-card .per-week { font-size: 0.875rem; color: var(--muted-fg); margin-bottom: 1rem; }
    /* ===== LIVE FEED ===== */
    .live-feed { padding: 5rem 1rem; overflow: hidden; }
    .section-header { text-align: center; margin-bottom: 2.5rem; }
    .section-header h2 { font-size: clamp(1.875rem, 4vw, 2.25rem); font-weight: 700; }
    .section-header p { margin-top: 0.75rem; color: var(--muted-fg); }
    .feed-box {
      max-width: 36rem;
      margin: 0 auto;
      border-radius: 1rem;
      padding: 1.5rem;
    }
    .feed-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 1rem;
    }
    .feed-header h3 { font-size: 0.875rem; font-weight: 600; }
    .feed-header .live-badge {
      display: inline-flex;
      align-items: center;
      gap: 0.375rem;
      font-size: 0.75rem;
      font-weight: 500;
      color: var(--pink);
    }
    .feed-header .live-badge .dot {
      width: 0.5rem;
      height: 0.5rem;
      border-radius: 50%;
      background: var(--pink);
      animation: pulse 2s infinite;
    }
    .feed-scroll {
      height: 18rem;
      overflow: hidden;
      position: relative;
    }
    .feed-scroll .fade-top,
    .feed-scroll .fade-bottom {
      position: absolute;
      left: 0; right: 0;
      height: 2rem;
      z-index: 10;
      pointer-events: none;
    }
    .feed-scroll .fade-top { top: 0; background: linear-gradient(to bottom, var(--card-06), transparent); }
    .feed-scroll .fade-bottom { bottom: 0; background: linear-gradient(to top, var(--card-06), transparent); }
    .feed-list { animation: scrollUp 20s linear infinite; }
    @keyframes scrollUp {
      0% { transform: translateY(0); }
      100% { transform: translateY(-50%); }
    }
    .feed-item {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      padding: 0.75rem 0;
      border-bottom: 1px solid hsla(220, 15%, 16%, 0.3);
    }
    .feed-item .avatar {
      width: 2.25rem;
      height: 2.25rem;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.875rem;
      font-weight: 700;
      color: var(--white);
      flex-shrink: 0;
    }
    .feed-item .info { flex: 1; min-width: 0; font-size: 0.875rem; }
    .feed-item .info .name { font-weight: 500; }
    .feed-item .info .earned { color: var(--muted-fg); }
    .feed-item .info .amt { font-weight: 600; color: var(--cyan); }
    .feed-item .info .act { color: var(--muted-fg); }
    .feed-item .time { font-size: 0.75rem; color: var(--muted-fg); flex-shrink: 0; }
    /* ===== STEPS ===== */
    .steps { padding: 5rem 1rem; }
    .steps-grid {
      max-width: 64rem;
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 1.5rem;
    }
    .step-card {
      border-radius: 1rem;
      padding: 1.5rem;
      position: relative;
      transition: border-color 0.2s;
    }
    .step-card.highlight {
      background: hsla(0, 84.2%, 60.2%, 0.9);
      border: 1px solid var(--destructive);
    }
    .step-card .num {
      position: absolute;
      top: -0.75rem;
      left: -0.75rem;
      width: 2rem;
      height: 2rem;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.875rem;
      font-weight: 700;
      color: var(--white);
    }
    .step-card.highlight .num { background: var(--white); color: var(--destructive); }
    .step-card .icon { width: 2rem; height: 2rem; margin-bottom: 1rem; }
    .step-card.highlight .icon { color: var(--white); }
    .step-card:not(.highlight) .icon { color: var(--cyan); }
    .step-card h3 { font-size: 1.25rem; font-weight: 600; margin-bottom: 0.5rem; }
    .step-card .desc { font-size: 0.875rem; margin-bottom: 1rem; }
    .step-card.highlight .desc { color: rgba(255,255,255,0.8); }
    .step-card:not(.highlight) .desc { color: var(--muted-fg); }
    .step-card .tags { display: flex; flex-wrap: wrap; gap: 0.5rem; }
    .step-card .tag {
      font-size: 0.75rem;
      padding: 0.25rem 0.75rem;
      border-radius: 9999px;
    }
    .step-card.highlight .tag { background: rgba(255,255,255,0.2); color: var(--white); }
    .step-card:not(.highlight) .tag { background: var(--muted); color: var(--muted-fg); }
    .stats-row {
      margin-top: 4rem;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 3rem;
      text-align: center;
    }
    .stats-row .stat-val { font-size: 2.25rem; font-weight: 700; }
    .stats-row .stat-label { font-size: 0.875rem; color: var(--muted-fg); margin-top: 0.25rem; }
    /* ===== TESTIMONIALS ===== */
    .testimonials { padding: 5rem 1rem; }
    .testimonials-grid {
      max-width: 64rem;
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 1.5rem;
    }
    .testimonial-card {
      border-radius: 1rem;
      padding: 1.5rem;
    }
    .testimonial-card .top {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      margin-bottom: 1rem;
    }
    .testimonial-card .avatar {
      width: 2.5rem;
      height: 2.5rem;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.875rem;
      font-weight: 700;
      color: var(--white);
    }
    .testimonial-card .name { font-weight: 600; font-size: 0.875rem; }
    .testimonial-card .stars { display: flex; gap: 2px; }
    .testimonial-card .stars svg {
      width: 0.875rem;
      height: 0.875rem;
      fill: var(--pink);
      color: var(--pink);
    }
    .testimonial-card .extra { margin-left: auto; font-size: 0.875rem; font-weight: 700; color: var(--cyan); }
    .testimonial-card .quote { font-size: 0.875rem; color: var(--muted-fg); font-style: italic; }
    .testimonial-card .sub { font-size: 0.75rem; color: var(--muted-fg); margin-top: 0.75rem; }
    .rating-overall {
      margin-top: 3rem;
      text-align: center;
    }
    .rating-overall .big { font-size: 3rem; font-weight: 700; display: inline-block; }
    .rating-overall .out-of { font-size: 1.25rem; color: var(--muted-fg); }
    .rating-overall .count { font-size: 0.875rem; color: var(--muted-fg); margin-top: 0.25rem; }
    /* ===== POPUP ===== */
    .overlay {
      display: none;
      position: fixed;
      inset: 0;
      z-index: 50;
      align-items: center;
      justify-content: center;
      background: rgba(0,0,0,0.6);
      backdrop-filter: blur(4px);
      padding: 1rem;
    }
    .overlay.active { display: flex; }
    .popup {
      position: relative;
      background: white;
      border-radius: 1rem;
      padding: 2rem;
      max-width: 24rem;
      width: 100%;
      text-align: center;
      box-shadow: 0 25px 50px rgba(0,0,0,0.25);
    }
    .popup .close-btn {
      position: absolute;
      top: 1rem;
      right: 1rem;
      background: none;
      border: none;
      color: #9ca3af;
      cursor: pointer;
      font-size: 1.25rem;
    }
    .popup .close-btn:hover { color: #4b5563; }
    .popup .lock-icon {
      width: 4rem;
      height: 4rem;
      border-radius: 50%;
      background: #f3f4f6;
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 1.5rem;
      position: relative;
    }
    .popup .lock-icon .check {
      position: absolute;
      top: -0.25rem;
      right: -0.25rem;
      width: 1.25rem;
      height: 1.25rem;
      border-radius: 50%;
      background: #22c55e;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .popup .lock-icon .check svg { width: 0.75rem; height: 0.75rem; color: white; }
    .popup h3 { font-size: 1.25rem; font-weight: 700; color: #111827; margin-bottom: 0.5rem; }
    .popup .popup-desc { font-size: 0.875rem; color: #6b7280; margin-bottom: 1.5rem; }
    .popup .verify-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      width: 100%;
      padding: 1rem;
      border: none;
      border-radius: 0.75rem;
      font-size: 1rem;
      font-weight: 600;
      color: white;
      background: #111827;
      cursor: pointer;
      transition: background 0.15s;
    }
    .popup .verify-btn:hover { background: #1f2937; }
    .popup .secure-text {
      margin-top: 1rem;
      font-size: 0.75rem;
      color: #9ca3af;
      text-transform: uppercase;
      letter-spacing: 0.1em;
    }
    @media (max-width: 640px) {
      .hero-trust .sep { display: none; }
    }
