html { scroll-behavior: smooth; }
    body { font-family: Inter, sans-serif; background: #1b012e; color: #f5ddff; }

    .material-symbols-outlined {
      font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 24;
    }

    .text-gradient {
      background: linear-gradient(135deg, #34e6f7 0%, #9ff979 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }

    .hero-glow {
      background:
        radial-gradient(circle at 25% 20%, rgba(52,230,247,.22), transparent 28%),
        radial-gradient(circle at 80% 15%, rgba(159,249,121,.18), transparent 26%),
        radial-gradient(circle at 50% 85%, rgba(113,177,255,.14), transparent 30%),
        linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));
    }

    .kinetic-gradient { background: linear-gradient(135deg, #34e6f7 0%, #9ff979 100%); }

    .glass-panel {
      background: rgba(57, 18, 83, 0.46);
      backdrop-filter: blur(18px);
      border: 1px solid rgba(255,255,255,.09);
    }

    .section-grid {
      background-image:
        linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
      background-size: 36px 36px;
      mask-image: linear-gradient(to bottom, transparent, black 10%, black 90%, transparent);
    }

    .speaker-card img { transition: transform .7s ease, filter .7s ease; }
    .speaker-card:hover img { transform: scale(1.05); filter: grayscale(0) saturate(1) brightness(1); }

    @keyframes heroZoom {
      0% { transform: scale(1); }
      100% { transform: scale(1.08); }
    }
    .hero-zoom {
      animation: heroZoom 8s ease-in-out infinite alternate;
    }

    .pill { border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.04); }

    .day-btn.active {
      background: linear-gradient(135deg, #34e6f7 0%, #9ff979 100%);
      color: #003b40;
      box-shadow: 0 0 32px rgba(52,230,247,.22);
    }

    .agenda-item::before {
      content: '';
      position: absolute;
      left: -1.25rem;
      top: 1.35rem;
      width: .8rem;
      height: .8rem;
      border-radius: 999px;
      background: linear-gradient(135deg, #34e6f7, #9ff979);
      box-shadow: 0 0 18px rgba(52,230,247,.45);
    }

    .agenda-col::before {
      content: '';
      position: absolute;
      top: 0; bottom: 0; left: 0;
      width: 2px;
      background: linear-gradient(to bottom, rgba(52,230,247,.55), rgba(159,249,121,.35));
    }

    .switcher-sticky {
      position: fixed;
      top: var(--sticky-top, 56px);
      left: 0;
      right: 0;
      z-index: 40;
      background: rgba(27, 1, 46, 0.95);
      backdrop-filter: blur(16px);
      border-bottom: 1px solid rgba(255,255,255,0.08);
      padding: 10px 16px;
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 0.75rem;
    }
    ::-webkit-scrollbar { width: 10px; }
    ::-webkit-scrollbar-track { background: #1b012e; }
    ::-webkit-scrollbar-thumb { background: #391253; border-radius: 999px; }
    ::-webkit-scrollbar-thumb:hover { background: #34e6f7; }

    /* Speaker image fallback */
    .speaker-img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      filter: grayscale(100%);
      transition: filter .7s ease, transform .7s ease;
    }
    .speaker-card:hover .speaker-img {
      filter: grayscale(0);
      transform: scale(1.05);
    }
    .speaker-fallback {
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      background: linear-gradient(135deg, #290740, #391253);
      font-size: 3rem;
      font-weight: 900;
      color: #34e6f7;
    }