
      * {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
      }
      :root {
        --bg: #020711;
        --deep: #031929;
        --cyan: #52eaff;
        --aqua: #72ffdc;
        --blue: #249cff;
        --gold: #ffd86a;
        --violet: #b66cff;
        --white: #f4fbff;
        --muted: rgba(235, 247, 255, 0.72);
        --line: rgba(86, 226, 255, 0.22);
      }
      html {
        scroll-behavior: smooth;
      }
      body {
        min-height: 100vh;
        overflow-x: hidden;
        color: var(--white);
        font-family: Inter, Arial, sans-serif;
        background:
          radial-gradient(
            circle at 50% -10%,
            rgba(44, 179, 255, 0.22),
            transparent 31%
          ),
          radial-gradient(
            circle at 10% 45%,
            rgba(0, 128, 210, 0.16),
            transparent 28%
          ),
          radial-gradient(
            circle at 90% 72%,
            rgba(104, 52, 255, 0.15),
            transparent 28%
          ),
          linear-gradient(180deg, #041829 0%, #030b17 55%, #01050c 100%);
      }
      body::before {
        content: "";
        position: fixed;
        inset: 0;
        pointer-events: none;
        opacity: 0.24;
        background-image:
          radial-gradient(
            circle,
            rgba(255, 255, 255, 0.95) 0 1px,
            transparent 1.7px
          ),
          radial-gradient(
            circle,
            rgba(67, 229, 255, 0.85) 0 1.2px,
            transparent 1.8px
          );
        background-size:
          72px 72px,
          124px 124px;
        animation: bubbles 18s linear infinite;
      }
      @keyframes bubbles {
        to {
          transform: translateY(-90px);
        }
      }
      .tide {
        position: fixed;
        inset: 0;
        pointer-events: none;
        opacity: 0.14;
        background: repeating-radial-gradient(
          ellipse at 50% 110%,
          transparent 0 22px,
          rgba(74, 226, 255, 0.18) 24px 26px,
          transparent 28px 52px
        );
        animation: tideMove 8s ease-in-out infinite alternate;
      }
      @keyframes tideMove {
        to {
          transform: translateY(-18px) scaleX(1.03);
          opacity: 0.21;
        }
      }
      .page {
        position: relative;
        z-index: 2;
        width: min(1180px, 100%);
        margin: auto;
        padding: 12px 14px 110px;
      }
      .topbar {
        position: sticky;
        top: 0;
        z-index: 50;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 9px 2px;
        background: linear-gradient(
          180deg,
          rgba(2, 13, 23, 0.96),
          rgba(2, 13, 23, 0.72),
          transparent
        );
        backdrop-filter: blur(12px);
      }
      .brand {
        display: flex;
        align-items: center;
        gap: 10px;
        font-weight: 1000;
      }
      .brand img {
        width: 42px;
        height: 42px;
        border-radius: 12px;
        object-fit: cover;
      }
      .brand span {
        background: linear-gradient(
          90deg,
          #ffffff 0%,
          #e8fdff 18%,
          #a9f3ff 42%,
          #55dfff 68%,
          #168dff 100%
        );
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        text-shadow:
          0 0 10px rgba(150, 240, 255, 0.24),
          0 0 18px rgba(30, 150, 255, 0.16);
      }
      .header-actions {
        margin-left: auto;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 10px;
      }
      .register-btn {
        position: relative;
        isolation: isolate;
        min-height: 42px;
        padding: 10px 20px;
        overflow: hidden;
        border: 1px solid rgba(255, 229, 129, 0.85);
        border-radius: 14px;
        color: #071522;
        background: linear-gradient(135deg, #fff4a4 0%, #ffc94c 45%, #ff9d21 100%);
        box-shadow:
          0 0 22px rgba(255, 193, 61, 0.3),
          inset 0 1px 0 rgba(255, 255, 255, 0.72);
        text-decoration: none;
        font-size: 13px;
        font-weight: 1000;
        letter-spacing: 0.04em;
        transition: transform 0.2s ease, box-shadow 0.2s ease;
      }
      .register-btn::after {
        content: "";
        position: absolute;
        z-index: -1;
        inset: -80% auto -80% -55%;
        width: 34%;
        transform: rotate(20deg);
        background: rgba(255, 255, 255, 0.72);
        filter: blur(3px);
        animation: registerShine 3.6s ease-in-out infinite;
      }
      .register-btn:hover {
        transform: translateY(-2px);
        box-shadow:
          0 0 30px rgba(255, 193, 61, 0.45),
          inset 0 1px 0 rgba(255, 255, 255, 0.78);
      }
      @keyframes registerShine {
        0%, 54% { left: -55%; }
        78%, 100% { left: 125%; }
      }
      .lang {
        display: flex;
        align-items: center;
        gap: 7px;
        padding: 8px 12px;
        border-radius: 999px;
        border: 1px solid var(--line);
        background: rgba(4, 31, 49, 0.72);
      }
      .lang select {
        border: 0;
        outline: 0;
        background: transparent;
        color: #c7faff;
        font-weight: 800;
      }
      .lang option {
        color: #07121d;
        background: #fff;
      }
      .hero {
        position: relative;
        min-height: 640px;
        overflow: hidden;
        border-radius: 30px;
        border: 1px solid rgba(58, 221, 255, 0.3);
        background:
          radial-gradient(
            circle at 50% 30%,
            rgba(0, 177, 255, 0.2),
            transparent 28%
          ),
          radial-gradient(
            circle at 50% 100%,
            rgba(0, 103, 183, 0.3),
            transparent 44%
          ),
          linear-gradient(180deg, rgba(2, 19, 31, 0.3), rgba(1, 7, 13, 0.97));
        box-shadow:
          0 30px 85px rgba(0, 0, 0, 0.56),
          0 0 45px rgba(29, 194, 255, 0.14);
      }
      .hero::after {
        content: "";
        position: absolute;
        inset: auto 0 0;
        height: 45%;
        background: linear-gradient(transparent, rgba(1, 7, 13, 0.98));
        z-index: 3;
      }
      .hero-art {
        position: absolute;
        left: 50%;
        bottom: 70px;
        width: min(920px, 99%);
        transform: translateX(-50%);
        z-index: 2;
        filter: drop-shadow(0 28px 24px rgba(0, 0, 0, 0.58))
          drop-shadow(0 0 38px rgba(52, 225, 255, 0.24));
        animation: heroFloat 5s ease-in-out infinite;
      }
      @keyframes heroFloat {
        0%,
        100% {
          transform: translateX(-50%) translateY(0) scale(1);
        }
        50% {
          transform: translateX(-50%) translateY(-12px) scale(1.012);
        }
      }
      .hero-copy {
        position: absolute;
        z-index: 5;
        left: 4%;
        right: 4%;
        bottom: 22px;
        text-align: center;
      }
      .hero-kicker {
        display: inline-block;
        padding: 7px 14px;
        border-radius: 999px;
        border: 1px solid rgba(85, 225, 255, 0.45);
        color: #dffcff;
        background: linear-gradient(
          180deg,
          rgba(5, 28, 48, 0.95),
          rgba(3, 18, 35, 0.88)
        );
        font-size: 11px;
        font-weight: 1000;
        letter-spacing: 1.2px;
        box-shadow: 0 0 20px rgba(50, 210, 255, 0.18);
      }
      .hero h1 {
        margin-top: 10px;
        font-size: clamp(36px, 7vw, 74px);
        line-height: 0.95;
        font-weight: 1000;
        background: linear-gradient(
          180deg,
          #ffffff 0%,
          #bff8ff 18%,
          #74e8ff 45%,
          #2cc8ff 72%,
          #0a8dff 100%
        );
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        filter: drop-shadow(0 5px 0 rgba(0, 35, 58, 0.9));
      }
      .hero p {
        margin: 10px auto 0;
        width: min(680px, 100%);
        font-size: 14px;
        line-height: 1.5;
        color: rgba(242, 250, 255, 0.82);
      }
      .actions {
        margin-top: 17px;
        display: flex;
        justify-content: center;
        gap: 10px;
        flex-wrap: wrap;
      }
      .btn {
        min-height: 48px;
        padding: 13px 22px;
        border: 0;
        border-radius: 999px;
        text-decoration: none;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        font-size: 14px;
        font-weight: 1000;
        position: relative;
        overflow: hidden;
      }
      .btn.primary {
        color: #06131d;
        background: linear-gradient(90deg, #59f4ff, #6ac6ff, #ffd45f);
        box-shadow: 0 0 26px rgba(54, 220, 255, 0.28);
      }
      .btn.dark {
        color: #aaffdf;
        background: rgba(3, 17, 28, 0.88);
        border: 1px solid rgba(77, 255, 199, 0.38);
      }
      .btn::after {
        content: "";
        position: absolute;
        top: -35%;
        left: -42%;
        width: 22%;
        height: 175%;
        transform: rotate(22deg);
        background: rgba(255, 255, 255, 0.66);
        filter: blur(3px);
        animation: shine 3s linear infinite;
      }
      @keyframes shine {
        0% {
          left: -42%;
        }
        58%,
        100% {
          left: 125%;
        }
      }
      .section-head {
        text-align: center;
        margin: 36px 0 18px;
      }
      .section-head span {
        color: var(--cyan);
        font-size: 11px;
        letter-spacing: 1.7px;
        font-weight: 1000;
      }
      .section-head h2 {
        margin-top: 7px;
        font-size: clamp(28px, 5vw, 44px);
        background: linear-gradient(90deg, #ffffff, #78efff, #6bcfff, #2ea8ff);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
      }
      .section-head p {
        margin-top: 7px;
        color: var(--muted);
        font-size: 13px;
      }
      .event-zone {
        display: grid;
        grid-template-columns: minmax(260px, 0.9fr) minmax(0, 2.1fr);
        gap: 26px;
        align-items: center;
        min-height: 600px;
        padding: 16px 0 6px;
      }
      .girl-panel {
        position: relative;
        min-height: 560px;
        display: flex;
        align-items: flex-end;
        justify-content: center;
      }
      .girl-panel::before {
        content: "";
        position: absolute;
        inset: 12% 5% 0;
        background: radial-gradient(
          circle at 50% 45%,
          rgba(94, 116, 255, 0.25),
          transparent 58%
        );
        filter: blur(4px);
      }
      .girl {
        position: relative;
        z-index: 2;
        width: min(430px, 100%);
        max-height: 560px;
        object-fit: contain;
        filter: drop-shadow(0 26px 22px rgba(0, 0, 0, 0.52))
          drop-shadow(0 0 30px rgba(101, 126, 255, 0.32));
        animation: girlFloat 5.6s ease-in-out infinite;
      }
      @keyframes girlFloat {
        0%,
        100% {
          transform: translateY(0) rotate(-1deg);
        }
        50% {
          transform: translateY(-14px) rotate(1deg);
        }
      }
      .girl-note {
        position: absolute;
        z-index: 3;
        left: 50%;
        bottom: 20px;
        transform: translateX(-50%);
        width: 90%;
        padding: 14px 18px;
        text-align: center;
        border-radius: 20px;
        border: 1px solid rgba(94, 225, 255, 0.22);
        background: rgba(3, 20, 35, 0.68);
        backdrop-filter: blur(10px);
      }
      .girl-note b {
        display: block;
        color: #dffcff;
        font-size: 18px;
      }
      .girl-note span {
        display: block;
        margin-top: 5px;
        color: var(--muted);
        font-size: 12px;
      }
      .events {
        display: grid;
        gap: 18px;
      }
      .event {
        position: relative;
        min-height: 185px;
        display: grid;
        grid-template-columns: 210px 1fr;
        align-items: center;
        gap: 18px;
        padding: 12px 18px;
        border-radius: 26px;
        background:
          radial-gradient(
            circle at 15% 50%,
            var(--soft, rgba(75, 221, 255, 0.12)),
            transparent 32%
          ),
          linear-gradient(90deg, rgba(5, 31, 50, 0.78), rgba(4, 15, 27, 0.84));
        border: 1px solid rgba(90, 226, 255, 0.16);
        overflow: hidden;
      }
      .event::after {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        background: linear-gradient(
          110deg,
          transparent 0 44%,
          rgba(255, 255, 255, 0.05) 50%,
          transparent 56%
        );
        transform: translateX(-120%);
        animation: sweep 4.8s linear infinite;
      }
      @keyframes sweep {
        to {
          transform: translateX(120%);
        }
      }
      .event-visual {
        position: relative;
        height: 160px;
        display: grid;
        place-items: center;
      }
      .event-visual::before {
        content: "";
        position: absolute;
        width: 78%;
        height: 25%;
        bottom: 14px;
        border-radius: 50%;
        background: radial-gradient(
          ellipse,
          rgba(255, 255, 255, 0.86) 0 5%,
          var(--glow, rgba(75, 221, 255, 0.58)) 22%,
          rgba(40, 68, 120, 0.14) 48%,
          transparent 74%
        );
        filter: blur(2px);
        animation: pulse 2.8s ease-in-out infinite;
      }
      .event-visual::after {
        content: "";
        border: 2px solid rgba(255, 255, 255, 0.25);
        box-shadow:
          0 0 22px var(--glow, rgba(75, 221, 255, 0.65)),
          inset 0 0 14px rgba(255, 255, 255, 0.1);
        animation: ring 7s linear infinite;
      }
      @keyframes pulse {
        0%,
        100% {
          transform: scale(0.94);
          opacity: 0.64;
        }
        50% {
          transform: scale(1.06);
          opacity: 1;
        }
      }
      @keyframes ring {
        to {
          transform: rotate(360deg);
        }
      }
      .event-img {
        position: relative;
        z-index: 3;
        width: 82%;
        max-width: 165px;
        max-height: 150px;
        object-fit: contain;
        filter: drop-shadow(0 20px 16px rgba(0, 0, 0, 0.45))
          drop-shadow(0 0 22px var(--glow, rgba(83, 221, 255, 0.3)));
        animation: floatItem 4.2s ease-in-out infinite;
      }
      @keyframes floatItem {
        0%,
        100% {
          transform: translateY(0) rotateY(-3deg);
        }
        50% {
          transform: translateY(-10px) rotateY(3deg);
        }
      }
      .event-copy {
        position: relative;
        z-index: 3;
        padding-right: 6px;
      }
      .event-badge {
        display: inline-flex;
        padding: 6px 10px;
        border-radius: 999px;
        color: #07121c;
        background: linear-gradient(
          90deg,
          var(--badge1, #72f5ff),
          var(--badge2, #ffd45f)
        );
        font-size: 10px;
        font-weight: 1000;
        letter-spacing: 0.6px;
      }
      .event-copy h3 {
        margin-top: 9px;
        font-size: 24px;
        line-height: 1.05;
        background: linear-gradient(
          180deg,
          #ffffff 0%,
          #dffcff 25%,
          #78eaff 60%,
          #168dff 100%
        );
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        text-shadow: 0 0 12px rgba(80, 220, 255, 0.25);
      }
      .event-copy p {
        margin-top: 7px;
        color: var(--muted);
        font-size: 13px;
        line-height: 1.55;
      }
      .event-copy .event-cta {
        margin-top: 12px;
        min-height: 40px;
        padding: 10px 17px;
        font-size: 12px;
      }
      .signin {
        --glow: rgba(214, 230, 255, 0.72);
        --soft: rgba(215, 230, 255, 0.12);
        --badge1: #edf5ff;
        --badge2: #9ccaff;
      }
      .wheel {
        --glow: rgba(183, 91, 255, 0.76);
        --soft: rgba(183, 91, 255, 0.14);
        --badge1: #d99bff;
        --badge2: #6f9cff;
      }
      .mystery {
        --glow: rgba(94, 135, 255, 0.76);
        --soft: rgba(69, 119, 255, 0.14);
        --badge1: #72efff;
        --badge2: #b88cff;
      }
      .pearl-carousel {
        position: relative;
        overflow: hidden;
        border-radius: 30px;
        padding: 24px 58px;
        border: 1px solid rgba(106, 230, 255, 0.22);
        background:
          radial-gradient(
            circle at 50% 15%,
            rgba(109, 243, 255, 0.15),
            transparent 34%
          ),
          linear-gradient(180deg, rgba(5, 30, 48, 0.82), rgba(3, 13, 24, 0.94));
        box-shadow: 0 24px 65px rgba(0, 0, 0, 0.36);
      }
      .pearl-track {
        display: flex;
        transition: transform 0.55s cubic-bezier(0.22, 0.8, 0.2, 1);
      }
      .pearl-slide {
        min-width: 100%;
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: center;
        gap: 24px;
        min-height: 360px;
      }
      .pearl-orb {
        position: relative;
        width: min(330px, 82vw);
        aspect-ratio: 1/1;
        margin: auto;
        border-radius: 50%;
        display: grid;
        place-items: center;
        overflow: hidden;
        background:
          radial-gradient(
            circle at 34% 28%,
            rgba(255, 255, 255, 0.95) 0 4%,
            rgba(207, 251, 255, 0.72) 9%,
            transparent 17%
          ),
          radial-gradient(
            circle at 50% 50%,
            rgba(132, 238, 255, 0.36),
            rgba(68, 119, 255, 0.23) 48%,
            rgba(18, 21, 65, 0.72) 75%
          );
        box-shadow:
          inset 0 0 45px rgba(255, 255, 255, 0.28),
          inset -22px -28px 46px rgba(51, 46, 137, 0.32),
          0 0 24px rgba(91, 231, 255, 0.62),
          0 0 70px rgba(87, 131, 255, 0.34);
        animation: pearlPulse 3.4s ease-in-out infinite;
      }
      .pearl-orb::before {
        content: "";
        position: absolute;
        inset: 6%;
        border-radius: 50%;
        border: 1px solid rgba(255, 255, 255, 0.4);
        box-shadow: inset 0 0 22px rgba(255, 255, 255, 0.18);
      }
      .pearl-orb::after {
        content: "";
        position: absolute;
        inset: -20%;
        border-radius: 50%;
        background: conic-gradient(
          from 0deg,
          transparent,
          rgba(126, 240, 255, 0.18),
          transparent 34%,
          rgba(183, 104, 255, 0.18),
          transparent 66%
        );
        animation: pearlSpin 8s linear infinite;
      }
      @keyframes pearlPulse {
        0%,
        100% {
          transform: scale(0.98);
        }
        50% {
          transform: scale(1.02);
        }
      }
      @keyframes pearlSpin {
        to {
          transform: rotate(360deg);
        }
      }
      .pearl-art {
        position: relative;
        z-index: 2;
        max-width: 78%;
        max-height: 78%;
        object-fit: contain;
        filter: drop-shadow(0 18px 18px rgba(0, 0, 0, 0.42))
          drop-shadow(0 0 24px rgba(119, 225, 255, 0.3));
      }
      .pearl-copy h3 {
        font-size: clamp(28px, 5vw, 48px);
        line-height: 1;
      }
      .pearl-copy p {
        margin-top: 12px;
        color: var(--muted);
        line-height: 1.65;
      }
      .pearl-meta {
        margin-top: 16px;
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
      }
      .pearl-meta span {
        padding: 7px 11px;
        border-radius: 999px;
        background: rgba(91, 224, 255, 0.08);
        border: 1px solid rgba(91, 224, 255, 0.2);
        color: #c7fbff;
        font-size: 11px;
        font-weight: 800;
      }
      .pearl-copy .btn {
        margin-top: 18px;
      }
      .carousel-btn {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        z-index: 5;
        width: 42px;
        height: 42px;
        border-radius: 50%;
        border: 1px solid rgba(255, 255, 255, 0.18);
        background: rgba(4, 20, 34, 0.72);
        color: #fff;
        font-size: 25px;
        cursor: pointer;
      }
      .carousel-btn.prev {
        left: 10px;
      }
      .carousel-btn.next {
        right: 10px;
      }
      .carousel-dots {
        display: flex;
        justify-content: center;
        gap: 8px;
        margin-top: 16px;
      }
      .carousel-dots button {
        width: 28px;
        height: 5px;
        border: 0;
        border-radius: 99px;
        background: rgba(255, 255, 255, 0.22);
        cursor: pointer;
      }
      .carousel-dots button.active {
        background: linear-gradient(90deg, var(--cyan), var(--violet));
      }
      .stats {
        margin-top: 34px;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        border: 1px solid rgba(60, 222, 255, 0.22);
        border-radius: 22px;
        overflow: hidden;
        background: rgba(3, 20, 34, 0.74);
      }
      .stat {
        padding: 18px 8px;
        text-align: center;
        border-right: 1px solid rgba(60, 222, 255, 0.13);
      }
      .stat:last-child {
        border-right: 0;
      }
      .stat b {
        display: block;
        color: var(--gold);
        font-size: 22px;
      }
      .stat span {
        display: block;
        margin-top: 4px;
        color: var(--muted);
        font-size: 10px;
      }
      .footer {
        margin-top: 34px;
        padding: 26px 18px 18px;
        text-align: center;
        border-top: 1px solid rgba(66, 224, 255, 0.17);
      }
      .footer-links {
        display: flex;
        justify-content: center;
        gap: 12px;
        flex-wrap: wrap;
      }
      .footer a {
        text-decoration: none;
        color: var(--aqua);
        font-weight: 800;
      }
      .footer small {
        display: block;
        margin-top: 16px;
        color: rgba(235, 247, 255, 0.48);
        line-height: 1.5;
      }
      .sticky {
        position: fixed;
        z-index: 40;
        left: 50%;
        bottom: max(10px, env(safe-area-inset-bottom));
        transform: translateX(-50%);
        width: min(620px, calc(100% - 18px));
        padding: 8px;
        border-radius: 999px;
        border: 1px solid rgba(70, 228, 255, 0.33);
        background: rgba(3, 15, 27, 0.88);
        backdrop-filter: blur(14px);
        box-shadow: 0 0 30px rgba(35, 194, 255, 0.18);
      }
      .sticky .btn {
        width: 100%;
      }
      @media (max-width: 900px) {
        .hero {
          min-height: 540px;
        }
        .event-zone {
          grid-template-columns: 1fr;
          gap: 8px;
        }
        .girl-panel {
          min-height: 430px;
        }
        .girl {
          max-height: 430px;
        }
        .pearl-slide {
          grid-template-columns: 1fr;
          min-height: 560px;
          text-align: center;
        }
        .pearl-meta {
          justify-content: center;
        }
      }
      @media (max-width: 620px) {
        .page {
          padding: 10px 10px 100px;
        }
        .brand span {
          font-size: 13px;
        }
        .brand img {
          width: 38px;
          height: 38px;
        }
        .header-actions {
          gap: 7px;
        }
        .register-btn {
          min-height: 38px;
          padding: 9px 13px;
          border-radius: 12px;
          font-size: 11px;
        }
        .lang {
          gap: 4px;
          padding: 8px 9px;
          font-size: 12px;
        }
        .lang select {
          max-width: 70px;
          font-size: 11px;
        }
        .hero {
          min-height: 430px;
          border-radius: 23px;
        }
        .hero-art {
          width: 132%;
          bottom: 74px;
        }
        .hero-copy {
          left: 12px;
          right: 12px;
          bottom: 16px;
        }
        .hero h1 {
          font-size: clamp(29px, 10vw, 42px);
        }
        .hero p {
          font-size: 12px;
        }
        .girl-panel {
          min-height: 390px;
        }
        .girl {
          max-height: 390px;
        }
        .girl-note {
          bottom: 8px;
        }
        .event {
          grid-template-columns: 128px 1fr;
          gap: 8px;
          padding: 10px;
          min-height: 160px;
          border-radius: 20px;
        }
        .event-visual {
          height: 140px;
        }
        .event-img {
          max-width: 120px;
          max-height: 125px;
        }
        .event-copy h3 {
          margin-top: 9px;
          font-size: 24px;
          line-height: 1.05;
          background: linear-gradient(
            180deg,
            #ffffff 0%,
            #dffcff 25%,
            #78eaff 60%,
            #168dff 100%
          );
          -webkit-background-clip: text;
          background-clip: text;
          color: transparent;
          text-shadow: 0 0 12px rgba(80, 220, 255, 0.25);
        }
        .event-copy p {
          font-size: 11px;
        }
        .event-badge {
          font-size: 8px;
        }
        .event-copy .event-cta {
          width: 100%;
          font-size: 10px;
          padding: 9px 8px;
        }
        .pearl-carousel {
          padding: 20px 44px;
        }
        .pearl-slide {
          min-height: 520px;
        }
        .pearl-orb {
          width: min(280px, 76vw);
        }
        .pearl-copy h3 {
          font-size: 30px;
        }
        .stats {
          grid-template-columns: repeat(2, 1fr);
        }
        .stat:nth-child(2) {
          border-right: 0;
        }
        .stat:nth-child(-n/**/+2) {
          border-bottom: 1px solid rgba(60, 222, 255, 0.13);
        }
      }
      @media (prefers-reduced-motion: reduce) {
        *,
        *::before,
        *::after {
          animation-duration: 0.01ms !important;
          animation-iteration-count: 1 !important;
        }
      }
      .event-visual::before,
      .event-visual::after {
        content: none !important;
      }
      .event-visual {
        overflow: visible;
        isolation: isolate;
      }
      .event-visual .bubble-field {
        position: absolute;
        inset: 0;
        z-index: 1;
        pointer-events: none;
        overflow: hidden;
        border-radius: 24px;
      }
      .event-visual .bubble {
        position: absolute;
        bottom: -18px;
        border-radius: 50%;
        background:
          radial-gradient(
            circle at 30% 28%,
            rgba(255, 255, 255, 0.95) 0 7%,
            rgba(255, 255, 255, 0.34) 13%,
            transparent 25%
          ),
          radial-gradient(
            circle at 52% 55%,
            rgba(88, 225, 255, 0.18),
            rgba(32, 111, 191, 0.1) 58%,
            rgba(3, 24, 44, 0.14) 75%
          );
        border: 1px solid rgba(159, 238, 255, 0.48);
        box-shadow:
          inset 0 0 8px rgba(255, 255, 255, 0.25),
          0 0 12px rgba(78, 205, 255, 0.18);
        animation: bubbleRise var(--dur, 6s) linear infinite;
        animation-delay: var(--delay, 0s);
        opacity: 0.82;
      }
      .event-visual .bubble.purple-bubble {
        background:
          radial-gradient(
            circle at 30% 28%,
            rgba(255, 255, 255, 0.95) 0 7%,
            rgba(255, 255, 255, 0.34) 13%,
            transparent 25%
          ),
          radial-gradient(
            circle at 52% 55%,
            rgba(203, 116, 255, 0.24),
            rgba(110, 51, 200, 0.12) 58%,
            rgba(28, 12, 60, 0.16) 75%
          );
        border-color: rgba(217, 159, 255, 0.52);
        box-shadow:
          inset 0 0 8px rgba(255, 255, 255, 0.25),
          0 0 14px rgba(180, 92, 255, 0.22);
      }
      @keyframes bubbleRise {
        0% {
          transform: translate3d(0, 0, 0) scale(0.75);
          opacity: 0;
        }
        12% {
          opacity: 0.82;
        }
        70% {
          opacity: 0.72;
        }
        100% {
          transform: translate3d(var(--drift, 12px), -180px, 0) scale(1.08);
          opacity: 0;
        }
      }
      .event-visual::after {
        content: "" !important;
        display: block !important;
        position: absolute;
        z-index: 0;
        left: 50%;
        bottom: 18px;
        width: 78%;
        height: 28%;
        transform: translateX(-50%);
        border-radius: 50%;
        border: 0 !important;
        background: radial-gradient(
          ellipse,
          rgba(255, 255, 255, 0.72) 0 5%,
          var(--glow, rgba(75, 221, 255, 0.5)) 18%,
          rgba(20, 84, 145, 0.12) 48%,
          transparent 72%
        );
        filter: blur(3px);
        box-shadow: none !important;
        animation: deepGlow 2.8s ease-in-out infinite !important;
      }
      @keyframes deepGlow {
        0%,
        100% {
          transform: translateX(-50%) scale(0.92);
          opacity: 0.56;
        }
        50% {
          transform: translateX(-50%) scale(1.06);
          opacity: 0.95;
        }
      }
      .event-img {
        z-index: 3 !important;
      }
      .activity-hub {
        margin-top: 36px;
        padding: 28px;
        border-radius: 30px;
        border: 1px solid rgba(82, 226, 255, 0.22);
        background:
          radial-gradient(
            circle at 50% -20%,
            rgba(67, 222, 255, 0.14),
            transparent 34%
          ),
          linear-gradient(180deg, rgba(4, 27, 44, 0.92), rgba(2, 12, 22, 0.96));
        box-shadow: 0 24px 64px rgba(0, 0, 0, 0.38);
      }
      .activity-hub-title {
        text-align: center;
        margin-bottom: 20px;
      }
      .activity-hub-title span {
        color: var(--cyan);
        font-size: 11px;
        letter-spacing: 1.7px;
        font-weight: 1000;
      }
      .activity-hub-title h2 {
        margin-top: 7px;
        font-size: clamp(28px, 5vw, 42px);
        background: linear-gradient(90deg, #ffffff, #77edff, #8fd8ff, #2ea8ff);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
      }
      .activity-hub-title p {
        margin-top: 7px;
        color: var(--muted);
        font-size: 13px;
      }
      .activity-links {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 14px;
      }
      .activity-link {
        position: relative;
        padding: 18px 14px;
        border-radius: 22px;
        border: 1px solid rgba(255, 255, 255, 0.1);
        text-decoration: none;
        text-align: center;
        overflow: hidden;
        transition:
          transform 0.25s ease,
          border-color 0.25s ease,
          box-shadow 0.25s ease;
      }
      .activity-link:hover {
        transform: translateY(-6px);
        border-color: rgba(103, 235, 255, 0.38);
        box-shadow:
          0 18px 34px rgba(0, 0, 0, 0.34),
          0 0 28px var(--activityGlow, rgba(81, 221, 255, 0.18));
      }
      .activity-link::before {
        content: "";
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        border-radius: 50%;
        filter: blur(1px);
        animation: activityPulse 3s ease-in-out infinite;
      }
      @keyframes activityPulse {
        0%,
        100% {
          transform: translateX(-50%) scale(0.94);
          opacity: 0.72;
        }
        50% {
          transform: translateX(-50%) scale(1.07);
          opacity: 1;
        }
      }
      .activity-icon {
        position: relative;
        z-index: 2;
        display: grid;
        place-items: center;
        width: 76px;
        height: 76px;
        margin: 0 auto 13px;
        border-radius: 50%;
        font-size: 34px;
        background: rgba(255, 255, 255, 0.08);
        border: 1px solid rgba(255, 255, 255, 0.16);
        box-shadow:
          inset 0 0 18px rgba(255, 255, 255, 0.06),
          0 0 24px var(--activityGlow, rgba(81, 221, 255, 0.18));
      }
      .activity-icon.reward-art {
        border-radius: 22px;
      }
      .activity-link.mystery-quick .activity-icon.reward-art {
        width: 126px;
        height: 100px;
      }
      @media (max-width: 560px) {
        .activity-icon.reward-art {
          width: 90px;
          height: 76px;
        }
        .activity-link.mystery-quick .activity-icon.reward-art {
          width: 98px;
          height: 80px;
        }
      }
      .activity-link b {
        position: relative;
        z-index: 2;
        display: block;
        font-size: 16px;
        color: #f5fbff;
      }
      .activity-link small {
        position: relative;
        z-index: 2;
        display: block;
        margin-top: 6px;
        color: var(--muted);
        font-size: 11px;
        line-height: 1.4;
      }
      .activity-bottom {
        margin-top: 18px;
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 14px;
        align-items: center;
        padding: 15px 18px;
        border-radius: 20px;
        background: rgba(2, 14, 25, 0.72);
        border: 1px solid rgba(82, 226, 255, 0.14);
      }
      .activity-bottom-copy b {
        display: block;
        color: var(--gold);
        font-size: 20px;
      }
      .activity-bottom-copy span {
        display: block;
        margin-top: 4px;
        color: var(--muted);
        font-size: 12px;
      }
      .activity-bottom .btn {
        min-width: 190px;
      }
      .mini-trust {
        margin-top: 18px;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
      }
      .mini-trust div {
        padding: 13px 10px;
        text-align: center;
        border-radius: 16px;
        border: 1px solid rgba(82, 226, 255, 0.12);
        background: rgba(3, 16, 28, 0.7);
      }
      .mini-trust b {
        display: block;
        color: var(--aqua);
        font-size: 14px;
      }
      .mini-trust span {
        display: block;
        margin-top: 3px;
        color: var(--muted);
        font-size: 10px;
      }
      @media (max-width: 800px) {
        .activity-links {
          grid-template-columns: repeat(2, 1fr);
        }
      }
      @media (max-width: 560px) {
        .activity-hub {
          padding: 20px 12px;
          border-radius: 24px;
        }
        .activity-links {
          gap: 10px;
        }
        .activity-link {
          min-height: 150px;
          padding: 14px 8px;
        }
        .activity-icon {
          width: 66px;
          height: 66px;
          font-size: 29px;
        }
        .activity-link b {
          font-size: 14px;
        }
        .activity-bottom {
          grid-template-columns: 1fr;
          text-align: center;
        }
        .activity-bottom .btn {
          width: 100%;
          min-width: 0;
        }
        .mini-trust {
          grid-template-columns: 1fr;
        }
      }
      .voucher-orb {
        background:
          radial-gradient(
            circle at 34% 28%,
            rgba(255, 255, 255, 0.98) 0 4%,
            rgba(197, 247, 255, 0.76) 9%,
            transparent 17%
          ),
          radial-gradient(
            circle at 50% 50%,
            rgba(60, 224, 255, 0.34),
            rgba(26, 101, 168, 0.28) 46%,
            rgba(3, 22, 48, 0.82) 76%
          );
        box-shadow:
          inset 0 0 50px rgba(255, 255, 255, 0.24),
          inset -24px -30px 48px rgba(0, 38, 88, 0.42),
          0 0 28px rgba(48, 224, 255, 0.7),
          0 0 88px rgba(18, 117, 255, 0.38);
      }
      .voucher-art {
        max-width: 88%;
        max-height: 88%;
        filter: drop-shadow(0 22px 18px rgba(0, 0, 0, 0.5))
          drop-shadow(0 0 28px rgba(37, 217, 255, 0.42));
      }
      .voucher-ribbon {
        position: absolute;
        z-index: 4;
        top: 8%;
        right: 2%;
        padding: 7px 12px;
        border-radius: 999px;
        color: #07111c;
        background: linear-gradient(90deg, #61f4ff, #fff0a3, #ffd45f);
        font-size: 10px;
        font-weight: 1000;
        letter-spacing: 0.8px;
        box-shadow: 0 0 22px rgba(87, 227, 255, 0.34);
      }
      /* Lightweight blue-white ocean ambience: no animal images or SVGs. */
      #activityHub {
        position: relative;
        isolation: isolate;
        overflow: hidden;
      }
      #activityHub > .activity-ambient {
        position: absolute;
        inset: 0;
        z-index: 0;
        overflow: hidden;
        border-radius: inherit;
        pointer-events: none;
        contain: layout paint;
      }
      #activityHub > :not(.activity-ambient) {
        position: relative;
        z-index: 2;
      }
      #activityHub .ambient-light-lines {
        position: absolute;
        inset: -18%;
        opacity: 0.68;
        mix-blend-mode: screen;
        transform: translateZ(0);
      }
      #activityHub .ambient-light-lines i {
        position: absolute;
        top: var(--top);
        left: -38%;
        width: 176%;
        height: var(--thickness, 1px);
        border-radius: 999px;
        background: linear-gradient(
          90deg,
          transparent 4%,
          rgba(60, 181, 255, 0.05) 19%,
          rgba(91, 220, 255, 0.34) 34%,
          rgba(255, 255, 255, 0.9) 49%,
          rgba(112, 225, 255, 0.32) 65%,
          transparent 91%
        );
        box-shadow:
          0 0 10px rgba(218, 250, 255, 0.58),
          0 0 28px rgba(61, 199, 255, 0.32);
        opacity: var(--line-opacity, 0.64);
        transform: rotate(var(--angle)) translate3d(-8%, 0, 0);
        animation: jaiho91ActivityLightSweepV9 var(--duration) ease-in-out infinite alternate;
        animation-delay: var(--delay);
        will-change: transform, opacity;
      }
      #activityHub .ambient-light-lines i:nth-child(1) {
        --top: 12%;
        --angle: -8deg;
        --duration: 12s;
        --delay: -3s;
        --thickness: 2px;
        --line-opacity: 0.78;
      }
      #activityHub .ambient-light-lines i:nth-child(2) {
        --top: 31%;
        --angle: 6deg;
        --duration: 16s;
        --delay: -11s;
        --line-opacity: 0.52;
      }
      #activityHub .ambient-light-lines i:nth-child(3) {
        --top: 52%;
        --angle: -4deg;
        --duration: 14s;
        --delay: -7s;
        --thickness: 2px;
        --line-opacity: 0.68;
      }
      #activityHub .ambient-light-lines i:nth-child(4) {
        --top: 70%;
        --angle: 8deg;
        --duration: 18s;
        --delay: -5s;
        --line-opacity: 0.46;
      }
      #activityHub .ambient-light-lines i:nth-child(5) {
        --top: 88%;
        --angle: -6deg;
        --duration: 15s;
        --delay: -12s;
        --thickness: 2px;
        --line-opacity: 0.62;
      }
      @keyframes jaiho91ActivityLightSweepV9 {
        0% {
          transform: rotate(var(--angle)) translate3d(-11%, -6px, 0) scaleX(0.92);
          opacity: calc(var(--line-opacity) * 0.52);
        }
        100% {
          transform: rotate(var(--angle)) translate3d(13%, 9px, 0) scaleX(1.08);
          opacity: var(--line-opacity);
        }
      }
      #activityHub .ambient-bubbles {
        position: absolute;
        inset: 0;
      }
      #activityHub .ambient-bubbles i {
        position: absolute;
        left: var(--x);
        bottom: -56px;
        width: var(--size);
        height: var(--size);
        border: 1px solid rgba(187, 244, 255, 0.64);
        border-radius: 50%;
        background:
          radial-gradient(
            circle at 29% 24%,
            rgba(255, 255, 255, 0.96) 0 7%,
            rgba(214, 248, 255, 0.4) 9% 15%,
            transparent 25%
          ),
          radial-gradient(
            circle at 54% 62%,
            rgba(70, 203, 255, 0.18),
            rgba(6, 48, 91, 0.06) 64%,
            transparent 76%
          );
        box-shadow:
          inset 0 0 9px rgba(224, 251, 255, 0.2),
          0 0 12px rgba(99, 221, 255, 0.34);
        opacity: 0;
        animation: jaiho91ActivityBubbleRiseV9 var(--duration) linear infinite;
        animation-delay: var(--delay);
        will-change: transform, opacity;
      }
      @keyframes jaiho91ActivityBubbleRiseV9 {
        0% {
          transform: translate3d(0, 0, 0) scale(0.58);
          opacity: 0;
        }
        12% {
          opacity: var(--opacity, 0.66);
        }
        76% {
          opacity: calc(var(--opacity, 0.66) * 0.72);
        }
        100% {
          transform: translate3d(var(--drift), -680px, 0) scale(1.08);
          opacity: 0;
        }
      }
      #activityHub .reward-bubbles i:nth-child(1) {
        --left: 9%;
        --size: 8px;
        --dur: 5.8s;
        --delay: -1.2s;
        --drift: 15px;
      }
      #activityHub .reward-bubbles i:nth-child(2) {
        --left: 26%;
        --size: 13px;
        --dur: 7.1s;
        --delay: -5.4s;
        --drift: -12px;
      }
      #activityHub .reward-bubbles i:nth-child(3) {
        --left: 45%;
        --size: 6px;
        --dur: 5.2s;
        --delay: -3.1s;
        --drift: 10px;
      }
      #activityHub .reward-bubbles i:nth-child(4) {
        --left: 63%;
        --size: 11px;
        --dur: 6.5s;
        --delay: -4.6s;
        --drift: -16px;
      }
      #activityHub .reward-bubbles i:nth-child(5) {
        --left: 82%;
        --size: 7px;
        --dur: 5.6s;
        --delay: -2.4s;
        --drift: 13px;
      }
      #activityHub .reward-bubbles i:nth-child(6) {
        --left: 92%;
        --size: 15px;
        --dur: 7.6s;
        --delay: -6.3s;
        --drift: -10px;
      }
      #activityHub .activity-link:hover,
      #activityHub .activity-link:focus-visible {
        transform: translateY(-9px) scale(1.012);
        border-color: rgba(166, 244, 255, 0.58);
        box-shadow:
          0 22px 38px rgba(0, 0, 0, 0.38),
          0 0 34px var(--activityGlow, rgba(81, 221, 255, 0.24));
      }
      #activityHub .activity-link:hover #activityHub .reward-bubbles,
      #activityHub .activity-link:focus-visible #activityHub .reward-bubbles {
        filter: brightness(1.22);
      }
      #activityHub .activity-link:hover .activity-icon.reward-art,
      #activityHub .activity-link:focus-visible .activity-icon.reward-art {
        animation-duration: 2.45s;
      }
      @media (max-width: 620px) {
        #activityHub .ambient-light-lines {
          opacity: 0.52;
        }
        #activityHub .ambient-bubbles i:nth-child(even) {
          display: none;
        }
      }
      @media (prefers-reduced-motion: reduce) {
        #activityHub .ambient-light-lines i,
        #activityHub .ambient-bubbles i {
          animation: none !important;
        }
        #activityHub .ambient-light-lines i {
          opacity: 0.2;
        }
        #activityHub .ambient-bubbles i {
          opacity: 0.16;
          transform: translateY(-35vh);
        }
      }
      .activity-link {
        min-height: 220px;
        isolation: isolate;
        background:
          radial-gradient(
            circle at 50% 14%,
            var(--activityGlow, rgba(81, 221, 255, 0.22)),
            transparent 42%
          ),
          linear-gradient(180deg, rgba(6, 29, 50, 0.9), rgba(2, 14, 27, 0.94));
      }
      .activity-link::before {
        width: 150px;
        height: 120px;
        top: 10px;
        opacity: 0.82;
        background: radial-gradient(
          ellipse,
          rgba(255, 255, 255, 0.2),
          var(--activityGlow, rgba(81, 221, 255, 0.32)) 34%,
          transparent 72%
        );
      }
      .activity-icon.reward-art {
        width: 150px;
        height: 126px;
        margin: -2px auto 7px;
        border: 0;
        background: transparent;
        overflow: visible;
        animation: rewardBoxFloat 3.8s ease-in-out infinite;
        transform-style: preserve-3d;
      }
      .activity-link:nth-child(2) .activity-icon.reward-art {
        animation-delay: -0.7s;
      }
      .activity-link:nth-child(3) .activity-icon.reward-art {
        width: 168px;
        height: 138px;
        animation-delay: -1.4s;
      }
      .activity-link:nth-child(4) .activity-icon.reward-art {
        animation-delay: -2.1s;
      }
      .activity-icon.reward-art img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        display: block;
        filter: drop-shadow(0 18px 14px rgba(0, 0, 0, 0.42))
          drop-shadow(0 0 18px var(--activityGlow, rgba(81, 221, 255, 0.38)));
        animation: rewardGlow 2.8s ease-in-out infinite;
      }
      .activity-icon.reward-art::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: 2px;
        width: 72%;
        height: 18%;
        transform: translateX(-50%);
        border-radius: 50%;
        z-index: -1;
        background: radial-gradient(
          ellipse,
          rgba(255, 255, 255, 0.76) 0 4%,
          var(--activityGlow, rgba(81, 221, 255, 0.65)) 20%,
          transparent 72%
        );
        filter: blur(5px);
        animation: rewardShadow 2.8s ease-in-out infinite;
      }
      @keyframes rewardBoxFloat {
        0%,
        100% {
          transform: translateY(4px) rotateY(-3deg) rotateZ(-0.5deg);
        }
        50% {
          transform: translateY(-13px) rotateY(4deg) rotateZ(0.6deg);
        }
      }
      @keyframes rewardGlow {
        0%,
        100% {
          filter: drop-shadow(0 16px 13px rgba(0, 0, 0, 0.38))
            drop-shadow(0 0 14px var(--activityGlow));
        }
        50% {
          filter: drop-shadow(0 22px 17px rgba(0, 0, 0, 0.48))
            drop-shadow(0 0 27px var(--activityGlow));
        }
      }
      @keyframes rewardShadow {
        0%,
        100% {
          transform: translateX(-50%) scale(0.86);
          opacity: 0.55;
        }
        50% {
          transform: translateX(-50%) scale(1.08);
          opacity: 1;
        }
      }
      .reward-bubbles {
        position: absolute;
        inset: 0;
        z-index: 1;
        overflow: hidden;
        pointer-events: none;
        border-radius: 22px;
      }
      .reward-bubbles i {
        position: absolute;
        left: var(--left);
        bottom: -28px;
        width: var(--size);
        height: var(--size);
        border-radius: 50%;
        border: 1px solid rgba(194, 244, 255, 0.5);
        background:
          radial-gradient(
            circle at 30% 25%,
            rgba(255, 255, 255, 0.95) 0 8%,
            rgba(255, 255, 255, 0.28) 14%,
            transparent 26%
          ),
          radial-gradient(
            circle at 55% 58%,
            var(--activityGlow, rgba(81, 221, 255, 0.18)),
            rgba(24, 72, 118, 0.08) 62%,
            transparent 75%
          );
        box-shadow:
          inset 0 0 7px rgba(255, 255, 255, 0.22),
          0 0 10px var(--activityGlow, rgba(81, 221, 255, 0.2));
        opacity: 0;
        animation: rewardBubbleRise var(--dur) linear infinite;
        animation-delay: var(--delay);
      }
      @keyframes rewardBubbleRise {
        0% {
          transform: translate3d(0, 0, 0) scale(0.55);
          opacity: 0;
        }
        12% {
          opacity: 0.78;
        }
        72% {
          opacity: 0.62;
        }
        100% {
          transform: translate3d(var(--drift), -245px, 0) scale(1.12);
          opacity: 0;
        }
      }
      .activity-link b,
      .activity-link small {
        z-index: 3;
      }
      .activity-link.signin-quick {
        --activityGlow: rgba(255, 200, 55, 0.55);
      }
      .activity-link.wheel-quick {
        --activityGlow: rgba(255, 67, 93, 0.48);
      }
      .activity-link.mystery-quick {
        --activityGlow: rgba(35, 215, 255, 0.48);
      }
      .activity-link.pearl-quick {
        --activityGlow: rgba(37, 219, 255, 0.48);
      }
      .activity-link.pearl-quick .activity-icon.reward-art::after {
        display: none;
      }
      @media (max-width: 560px) {
        .activity-link {
          min-height: 205px;
        }
        .activity-icon.reward-art {
          width: 118px;
          height: 102px;
        }
        .activity-link:nth-child(3) .activity-icon.reward-art {
          width: 130px;
          height: 110px;
        }
        .reward-bubbles i {
          animation-duration: calc(var(--dur) * 1.15);
        }
      }
      @media (prefers-reduced-motion: reduce) {
        .activity-icon.reward-art,
        .activity-icon.reward-art img,
        .activity-icon.reward-art::after,
        .reward-bubbles i {
          animation: none !important;
        }
      }

      /* featured carousel */
      .section-head.carousel-heading {
        margin-top: 54px;
        margin-bottom: 20px;
      }
      .section-head.carousel-heading h2 {
        font-size: clamp(32px, 5.4vw, 50px);
      }
      .pearl-carousel {
        position: relative;
        isolation: isolate;
        overflow: hidden;
        padding: 0;
        border-radius: 32px;
        border: 1px solid rgba(102, 231, 255, 0.28);
        background: linear-gradient(
          145deg,
          rgba(8, 42, 66, 0.96),
          rgba(3, 16, 31, 0.98) 54%,
          rgba(16, 9, 43, 0.96)
        );
        box-shadow:
          0 30px 90px rgba(0, 0, 0, 0.52),
          0 0 52px rgba(37, 187, 255, 0.11);
      }
      .pearl-carousel::before {
        content: "";
        position: absolute;
        z-index: -1;
        inset: 0;
        pointer-events: none;
        background:
          linear-gradient(rgba(104, 228, 255, 0.035) 1px, transparent 1px),
          linear-gradient(
            90deg,
            rgba(104, 228, 255, 0.035) 1px,
            transparent 1px
          ),
          radial-gradient(
            circle at 78% 43%,
            rgba(95, 225, 255, 0.17),
            transparent 28%
          ),
          radial-gradient(
            circle at 8% 110%,
            rgba(96, 72, 255, 0.18),
            transparent 34%
          );
        background-size:
          44px 44px,
          44px 44px,
          auto,
          auto;
        mask-image: linear-gradient(90deg, transparent, black 32%, black);
      }
      .carousel-topline {
        position: relative;
        z-index: 4;
        min-height: 70px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        padding: 16px 152px 16px 28px;
        border-bottom: 1px solid rgba(109, 230, 255, 0.14);
        background: rgba(1, 14, 27, 0.44);
        backdrop-filter: blur(10px);
      }
      .carousel-topline-label {
        display: flex;
        align-items: center;
        gap: 10px;
        color: #bdf8ff;
        font-size: 10px;
        font-weight: 1000;
        letter-spacing: 1.8px;
      }
      .carousel-live {
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: #72ffdc;
        box-shadow: 0 0 12px #72ffdc;
        animation: carouselLive 1.8s ease-in-out infinite;
      }
      .carousel-status {
        display: flex;
        align-items: center;
        gap: 9px;
        color: rgba(220, 247, 255, 0.48);
        font-size: 10px;
        font-weight: 900;
        letter-spacing: 1.2px;
      }
      .carousel-status strong {
        color: #fff;
        font-size: 17px;
      }
      .carousel-progress {
        position: relative;
        width: 54px;
        height: 2px;
        overflow: hidden;
        background: rgba(255, 255, 255, 0.12);
      }
      .carousel-progress i {
        position: absolute;
        inset: 0 auto 0 0;
        width: 25%;
        background: linear-gradient(90deg, #72ffdc, #52eaff, #b66cff);
        box-shadow: 0 0 10px #52eaff;
        transition: width 0.55s cubic-bezier(0.22, 0.8, 0.2, 1);
      }
      @keyframes carouselLive {
        50% {
          transform: scale(0.72);
          opacity: 0.55;
        }
      }
      .pearl-track {
        display: flex;
        will-change: transform;
        transition: transform 0.7s cubic-bezier(0.22, 0.8, 0.2, 1);
      }
      .pearl-slide {
        min-width: 100%;
        min-height: 470px;
        display: grid;
        grid-template-columns: minmax(0, 1.05fr) minmax(330px, 0.95fr);
        align-items: center;
        gap: clamp(28px, 5vw, 70px);
        padding: 46px clamp(60px, 7vw, 92px) 42px;
        opacity: 0.52;
        transform: scale(0.975);
        transition:
          opacity 0.55s ease,
          transform 0.7s cubic-bezier(0.22, 0.8, 0.2, 1);
      }
      .pearl-slide.active {
        opacity: 1;
        transform: scale(1);
      }
      .pearl-slide .pearl-copy {
        position: relative;
        z-index: 3;
        order: 1;
      }
      .pearl-slide .pearl-orb {
        order: 2;
      }
      .pearl-copy::before {
        content: "FEATURED DROP";
        display: inline-flex;
        margin-bottom: 15px;
        padding: 6px 10px;
        border-radius: 999px;
        color: #7af6e2;
        background: rgba(67, 255, 210, 0.07);
        border: 1px solid rgba(92, 255, 221, 0.2);
        font-size: 9px;
        font-weight: 1000;
        letter-spacing: 1.5px;
      }
      .pearl-copy h3 {
        max-width: 520px;
        font-size: clamp(36px, 5vw, 60px);
        line-height: 0.94;
        font-weight: 1000;
        letter-spacing: -1.4px;
        background: linear-gradient(
          180deg,
          #fff 0%,
          #d8fbff 30%,
          #6eeaff 68%,
          #399cff 100%
        );
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
        filter: drop-shadow(0 7px 20px rgba(14, 129, 205, 0.22));
      }
      .pearl-copy p {
        max-width: 510px;
        margin-top: 17px;
        color: rgba(229, 245, 255, 0.7);
        font-size: 14px;
        line-height: 1.75;
      }
      .pearl-meta {
        margin-top: 20px;
      }
      .pearl-meta span {
        padding: 8px 12px;
        background: rgba(92, 227, 255, 0.07);
        border-color: rgba(92, 227, 255, 0.18);
        color: #c9faff;
        font-size: 10px;
        letter-spacing: 0.2px;
      }
      .pearl-copy .btn {
        min-width: 168px;
        margin-top: 24px;
      }
      .pearl-orb {
        position: relative;
        width: min(440px, 100%);
        aspect-ratio: 1.16 / 1;
        margin: auto;
        overflow: visible;
        border-radius: 30px;
        display: grid;
        place-items: center;
        background:
          radial-gradient(
            circle at 50% 46%,
            rgba(118, 238, 255, 0.28),
            transparent 34%
          ),
          linear-gradient(
            145deg,
            rgba(92, 222, 255, 0.08),
            rgba(111, 70, 255, 0.07)
          );
        border: 1px solid rgba(147, 240, 255, 0.22);
        box-shadow:
          inset 0 0 54px rgba(96, 221, 255, 0.08),
          0 26px 52px rgba(0, 0, 0, 0.27);
        animation: none;
      }
      .pearl-orb::before {
        content: "";
        position: absolute;
        z-index: 0;
        inset: 9%;
        border-radius: 24px;
        border: 1px solid rgba(182, 247, 255, 0.16);
        background: radial-gradient(
          circle at 50% 50%,
          rgba(105, 239, 255, 0.15),
          transparent 57%
        );
        box-shadow: inset 0 0 30px rgba(105, 239, 255, 0.08);
        animation: displayPulse 3.8s ease-in-out infinite;
      }
      .pearl-orb::after {
        content: "";
        position: absolute;
        z-index: 0;
        left: 12%;
        right: 12%;
        bottom: -8%;
        height: 18%;
        border-radius: 50%;
        background: radial-gradient(
          ellipse,
          rgba(255, 255, 255, 0.72) 0 3%,
          rgba(82, 234, 255, 0.55) 14%,
          rgba(74, 92, 255, 0.18) 40%,
          transparent 72%
        );
        filter: blur(5px);
        animation: displayShadow 3.8s ease-in-out infinite;
      }
      .pearl-art {
        position: relative;
        z-index: 2;
        max-width: 94%;
        max-height: 92%;
        object-fit: contain;
        filter: drop-shadow(0 25px 18px rgba(0, 0, 0, 0.48))
          drop-shadow(0 0 28px rgba(102, 232, 255, 0.38));
        animation: displayFloat 3.8s ease-in-out infinite;
      }
      .voucher-orb {
        background:
          radial-gradient(
            circle at 50% 46%,
            rgba(55, 224, 255, 0.28),
            transparent 34%
          ),
          linear-gradient(
            145deg,
            rgba(47, 179, 255, 0.11),
            rgba(20, 51, 123, 0.16)
          );
        box-shadow:
          inset 0 0 54px rgba(46, 196, 255, 0.12),
          0 26px 52px rgba(0, 0, 0, 0.27);
      }
      .voucher-art {
        max-width: 98%;
        max-height: 96%;
      }
      .voucher-ribbon {
        top: 8%;
        right: -2%;
      }
      @keyframes displayFloat {
        0%,
        100% {
          transform: translateY(3px) rotateY(-2deg);
        }
        50% {
          transform: translateY(-13px) rotateY(3deg);
        }
      }
      @keyframes displayPulse {
        50% {
          transform: scale(1.035);
          border-color: rgba(174, 248, 255, 0.27);
          box-shadow:
            inset 0 0 42px rgba(105, 239, 255, 0.12),
            0 0 30px rgba(82, 230, 255, 0.09);
        }
      }
      @keyframes displayShadow {
        50% {
          transform: scaleX(0.86);
          opacity: 0.65;
        }
      }
      .carousel-btn {
        position: absolute;
        z-index: 7;
        top: 14px;
        transform: none;
        width: 42px;
        height: 42px;
        display: grid;
        place-items: center;
        border-radius: 13px;
        border: 1px solid rgba(174, 241, 255, 0.18);
        background: rgba(6, 30, 48, 0.76);
        color: #dffcff;
        font-size: 24px;
        line-height: 1;
        cursor: pointer;
        transition:
          transform 0.22s ease,
          border-color 0.22s ease,
          background 0.22s ease;
      }
      .carousel-btn:hover,
      .carousel-btn:focus-visible {
        transform: translateY(-2px);
        border-color: rgba(100, 239, 255, 0.52);
        background: rgba(16, 65, 84, 0.9);
      }
      .carousel-btn.prev {
        left: auto;
        right: 75px;
      }
      .carousel-btn.next {
        right: 24px;
      }
      .carousel-dots {
        position: relative;
        z-index: 5;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0;
        margin: 0;
        border-top: 1px solid rgba(107, 228, 255, 0.14);
        background: rgba(0, 11, 23, 0.72);
      }
      .carousel-dots button {
        position: relative;
        width: auto;
        height: 70px;
        padding: 13px 16px;
        border: 0;
        border-right: 1px solid rgba(107, 228, 255, 0.11);
        border-radius: 0;
        display: grid;
        grid-template-columns: auto 1fr;
        align-items: center;
        gap: 11px;
        text-align: left;
        background: transparent;
        color: rgba(219, 244, 255, 0.48);
        cursor: pointer;
        transition:
          background 0.25s ease,
          color 0.25s ease;
      }
      .carousel-dots button:last-child {
        border-right: 0;
      }
      .carousel-dots button::before {
        content: "";
        position: absolute;
        left: 0;
        right: 100%;
        top: 0;
        height: 2px;
        background: linear-gradient(90deg, #72ffdc, #52eaff, #b66cff);
        box-shadow: 0 0 11px #52eaff;
        transition: right 0.32s ease;
      }
      .carousel-dots button.active {
        color: #f5fdff;
        background: linear-gradient(
          180deg,
          rgba(73, 224, 255, 0.1),
          transparent
        );
      }
      .carousel-dots button.active::before {
        right: 0;
      }
      .carousel-dots button span {
        font-family: Georgia, serif;
        font-size: 20px;
        color: rgba(115, 234, 255, 0.46);
      }
      .carousel-dots button.active span {
        color: #7ef8eb;
      }
      .carousel-dots button b {
        overflow: hidden;
        font-size: 10px;
        line-height: 1.25;
        letter-spacing: 0.65px;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      .pearl-carousel:focus-visible {
        outline: 2px solid rgba(114, 255, 220, 0.58);
        outline-offset: 4px;
      }
      @media (max-width: 900px) {
        .carousel-topline {
          padding-right: 142px;
        }
        .pearl-slide {
          grid-template-columns: 1fr 1fr;
          min-height: 450px;
          padding: 38px 54px;
        }
        .pearl-copy h3 {
          font-size: clamp(31px, 5.5vw, 46px);
        }
        .pearl-orb {
          width: min(360px, 100%);
        }
      }
      @media (max-width: 680px) {
        .section-head.carousel-heading {
          margin-top: 42px;
        }
        .pearl-carousel {
          border-radius: 24px;
        }
        .carousel-topline {
          min-height: 64px;
          padding: 13px 116px 13px 16px;
        }
        .carousel-topline-label {
          font-size: 8px;
          letter-spacing: 1.15px;
        }
        .carousel-status {
          display: none;
        }
        .carousel-btn {
          top: 11px;
          width: 39px;
          height: 39px;
          border-radius: 12px;
        }
        .carousel-btn.prev {
          right: 61px;
        }
        .carousel-btn.next {
          right: 14px;
        }
        .pearl-slide {
          grid-template-columns: 1fr;
          gap: 16px;
          min-height: 610px;
          padding: 30px 22px 28px;
          text-align: center;
        }
        .pearl-slide .pearl-orb {
          order: 1;
        }
        .pearl-slide .pearl-copy {
          order: 2;
        }
        .pearl-orb {
          width: min(330px, 85vw);
          aspect-ratio: 1.25 / 1;
        }
        .pearl-copy::before {
          margin-bottom: 10px;
        }
        .pearl-copy h3 {
          max-width: 100%;
          font-size: clamp(31px, 9.5vw, 43px);
          line-height: 0.97;
          letter-spacing: -0.8px;
        }
        .pearl-copy p {
          margin: 12px auto 0;
          font-size: 12px;
          line-height: 1.6;
        }
        .pearl-meta {
          justify-content: center;
          margin-top: 14px;
        }
        .pearl-meta span {
          padding: 6px 9px;
          font-size: 9px;
        }
        .pearl-copy .btn {
          margin-top: 17px;
        }
        .carousel-dots {
          display: flex;
          overflow-x: auto;
          scrollbar-width: none;
        }
        .carousel-dots::-webkit-scrollbar {
          display: none;
        }
        .carousel-dots button {
          flex: 0 0 132px;
          height: 62px;
          padding: 10px 12px;
        }
        .carousel-dots button span {
          font-size: 17px;
        }
        .carousel-dots button b {
          font-size: 9px;
        }
      }
      @media (prefers-reduced-motion: reduce) {
        .carousel-live,
        .pearl-orb::before,
        .pearl-orb::after,
        .pearl-art {
          animation: none !important;
        }
        .pearl-track,
        .pearl-slide,
        .carousel-progress i {
          transition: none !important;
        }
      }

      /* wide game banners */
      .pearl-slide.banner-slide {
        min-height: 590px;
        display: grid;
        grid-template-columns: 1fr;
        padding: 28px clamp(28px, 5vw, 58px) 34px;
      }
      .banner-stage {
        width: 100%;
        overflow: hidden;
        border-radius: 26px;
        border: 1px solid rgba(137, 237, 255, 0.24);
        background: linear-gradient(
          145deg,
          rgba(7, 29, 48, 0.96),
          rgba(11, 8, 31, 0.98)
        );
        box-shadow:
          0 24px 56px rgba(0, 0, 0, 0.42),
          0 0 40px rgba(67, 214, 255, 0.1);
      }
      .banner-art {
        display: block;
        width: 100%;
        height: auto;
        object-fit: contain;
        background: #040a12;
      }
      .banner-action {
        min-height: 82px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 18px;
        padding: 15px 18px 15px 22px;
        border-top: 1px solid rgba(125, 231, 255, 0.14);
        background: linear-gradient(
          90deg,
          rgba(5, 28, 45, 0.98),
          rgba(14, 21, 52, 0.98)
        );
      }
      .banner-info {
        min-width: 0;
      }
      .banner-info span {
        display: block;
        color: #74f7df;
        font-size: 8px;
        font-weight: 1000;
        letter-spacing: 1.45px;
      }
      .banner-info strong {
        display: block;
        margin-top: 4px;
        overflow: hidden;
        color: #f5fdff;
        font-size: clamp(18px, 2.3vw, 27px);
        line-height: 1.05;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      .banner-info small {
        display: block;
        margin-top: 5px;
        color: rgba(225, 244, 255, 0.58);
        font-size: 10px;
      }
      .banner-action .btn {
        flex: 0 0 auto;
        min-width: 148px;
        min-height: 44px;
        padding: 11px 18px;
        font-size: 11px;
      }
      @media (max-width: 680px) {
        .pearl-slide.banner-slide {
          min-height: 610px;
          align-content: center;
          padding: 20px 12px 24px;
        }
        .banner-stage {
          border-radius: 19px;
        }
        .banner-action {
          min-height: 124px;
          align-items: stretch;
          flex-direction: column;
          gap: 12px;
          padding: 15px;
          text-align: left;
        }
        .banner-info strong {
          font-size: 19px;
        }
        .banner-info small {
          line-height: 1.4;
        }
        .banner-action .btn {
          width: 100%;
          min-width: 0;
        }
      }

      /* v8 luminous abyss background */
      body {
        position: relative;
        isolation: isolate;
        background-color: #020713;
        background-image:
          linear-gradient(
            180deg,
            rgba(0, 8, 24, 0.08),
            rgba(1, 6, 18, 0.44) 44%,
            rgba(1, 4, 14, 0.64)
          ),
          url("https://pub-085d98c9ade54bbca5870343b7823f5b.r2.dev/css_bg_body.webp");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
        background-attachment: fixed;
      }
      body::before {
        z-index: 0;
        opacity: 0.38;
        mix-blend-mode: screen;
      }
      .tide {
        z-index: 1;
        opacity: 0.23;
        background: repeating-radial-gradient(
          ellipse at 50% 110%,
          transparent 0 22px,
          rgba(85, 234, 255, 0.3) 24px 26px,
          transparent 28px 52px
        );
        filter: drop-shadow(0 0 12px rgba(65, 218, 255, 0.22));
      }
      .page,
      .sticky {
        z-index: 3;
      }
      .topbar {
        margin: 0 -4px 8px;
        padding: 10px 12px;
        border: 1px solid rgba(95, 225, 255, 0.13);
        border-top: 0;
        border-radius: 0 0 18px 18px;
        background: linear-gradient(
          180deg,
          rgba(1, 13, 28, 0.93),
          rgba(4, 24, 46, 0.7)
        );
        box-shadow:
          0 12px 36px rgba(0, 0, 0, 0.3),
          0 0 22px rgba(66, 213, 255, 0.08);
      }
      .hero {
        border-color: rgba(83, 227, 255, 0.46);
        background:
          radial-gradient(
            circle at 50% 28%,
            rgba(33, 193, 255, 0.16),
            transparent 34%
          ),
          linear-gradient(180deg, rgba(2, 22, 42, 0.1), rgba(1, 8, 20, 0.87));
        box-shadow:
          0 32px 92px rgba(0, 0, 0, 0.6),
          0 0 58px rgba(34, 204, 255, 0.2),
          inset 0 0 70px rgba(35, 169, 255, 0.08);
        backdrop-filter: blur(2px);
      }
      .hero::before {
        content: "";
        position: absolute;
        z-index: 1;
        inset: 0;
        pointer-events: none;
        background:
          radial-gradient(
            ellipse at 18% 52%,
            rgba(157, 70, 255, 0.14),
            transparent 28%
          ),
          radial-gradient(
            ellipse at 84% 34%,
            rgba(50, 224, 255, 0.16),
            transparent 30%
          );
        mix-blend-mode: screen;
      }
      .section-head {
        position: relative;
        padding: 18px 12px 2px;
      }
      .section-head::after {
        content: "";
        display: block;
        width: min(420px, 72%);
        height: 1px;
        margin: 17px auto 0;
        background: linear-gradient(
          90deg,
          transparent,
          rgba(83, 230, 255, 0.72),
          rgba(182, 108, 255, 0.62),
          transparent
        );
        box-shadow: 0 0 12px rgba(82, 226, 255, 0.28);
      }
      .section-head h2,
      .activity-hub-title h2 {
        filter: drop-shadow(0 4px 14px rgba(44, 189, 255, 0.32));
      }
      .girl-panel::before {
        inset: 7% 0 0;
        background:
          radial-gradient(
            circle at 50% 42%,
            rgba(106, 92, 255, 0.38),
            transparent 52%
          ),
          radial-gradient(
            circle at 50% 72%,
            rgba(46, 225, 255, 0.2),
            transparent 42%
          );
        filter: blur(7px);
      }
      .girl-note,
      .event,
      .pearl-carousel,
      .activity-hub,
      .stats,
      .mini-trust div {
        backdrop-filter: blur(14px) saturate(1.18);
      }
      .girl-note {
        border-color: rgba(98, 233, 255, 0.3);
        background: linear-gradient(
          135deg,
          rgba(4, 31, 56, 0.78),
          rgba(17, 11, 45, 0.76)
        );
        box-shadow:
          0 18px 42px rgba(0, 0, 0, 0.42),
          0 0 26px rgba(83, 215, 255, 0.12);
      }
      .event {
        border-color: rgba(105, 231, 255, 0.25);
        background:
          radial-gradient(
            circle at 15% 50%,
            var(--soft, rgba(75, 221, 255, 0.2)),
            transparent 35%
          ),
          linear-gradient(110deg, rgba(5, 37, 64, 0.82), rgba(8, 12, 34, 0.76));
        box-shadow:
          0 22px 58px rgba(0, 0, 0, 0.44),
          0 0 26px var(--glow, rgba(75, 221, 255, 0.14)),
          inset 0 0 34px rgba(65, 214, 255, 0.05);
      }
      .event:hover {
        border-color: rgba(128, 241, 255, 0.46);
        box-shadow:
          0 28px 66px rgba(0, 0, 0, 0.5),
          0 0 38px var(--glow, rgba(75, 221, 255, 0.22));
      }
      .pearl-carousel {
        border-color: rgba(104, 232, 255, 0.38);
        background: linear-gradient(
          145deg,
          rgba(5, 38, 65, 0.86),
          rgba(3, 13, 32, 0.88) 52%,
          rgba(25, 8, 52, 0.86)
        );
        box-shadow:
          0 30px 90px rgba(0, 0, 0, 0.56),
          0 0 58px rgba(46, 207, 255, 0.16),
          inset 0 0 55px rgba(135, 77, 255, 0.05);
      }
      .carousel-topline,
      .carousel-dots {
        background: rgba(1, 14, 31, 0.7);
      }
      .activity-hub {
        border-color: rgba(88, 231, 255, 0.34);
        background:
          radial-gradient(
            circle at 50% -12%,
            rgba(55, 226, 255, 0.24),
            transparent 38%
          ),
          linear-gradient(180deg, rgba(5, 34, 60, 0.84), rgba(8, 9, 30, 0.88));
        box-shadow:
          0 28px 72px rgba(0, 0, 0, 0.5),
          0 0 48px rgba(48, 200, 255, 0.14);
      }
      .activity-link {
        border-color: rgba(118, 233, 255, 0.2);
        background:
          radial-gradient(
            circle at 50% 14%,
            var(--activityGlow, rgba(81, 221, 255, 0.28)),
            transparent 44%
          ),
          linear-gradient(180deg, rgba(8, 37, 67, 0.88), rgba(8, 8, 31, 0.9));
        box-shadow: inset 0 0 28px rgba(92, 224, 255, 0.04);
      }
      .mini-trust div,
      .stats {
        border-color: rgba(89, 225, 255, 0.22);
        background: linear-gradient(
          135deg,
          rgba(4, 31, 54, 0.78),
          rgba(12, 10, 35, 0.78)
        );
      }
      .sticky {
        border-color: rgba(255, 208, 91, 0.44);
        background: rgba(4, 15, 31, 0.88);
        box-shadow:
          0 0 34px rgba(34, 198, 255, 0.2),
          0 0 16px rgba(255, 205, 81, 0.12);
      }
      @media (max-width: 900px) {
        body {
          background-attachment: scroll;
          background-position: center top;
          background-size: auto 100vh;
          background-repeat: repeat-y;
        }
      }

      /* v9 game platform lobby */
      .topbar {
        min-height: 66px;
        padding: 9px 12px;
        border: 1px solid rgba(93, 226, 255, 0.16);
        border-radius: 18px 18px 0 0;
        background: linear-gradient(
          180deg,
          rgba(3, 22, 39, 0.97),
          rgba(2, 14, 29, 0.95)
        );
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
      }
      .platform-actions {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 8px;
      }
      .wallet-chip {
        min-width: 142px;
        padding: 7px 13px;
        border: 1px solid rgba(83, 226, 255, 0.25);
        border-radius: 12px;
        background: rgba(4, 39, 61, 0.78);
        display: grid;
        gap: 1px;
      }
      .wallet-chip span {
        color: rgba(192, 240, 250, 0.68);
        font-size: 9px;
        font-weight: 900;
        letter-spacing: 0.9px;
      }
      .wallet-chip strong {
        color: #fff3ae;
        font-size: 15px;
      }
      .platform-login,
      .platform-register {
        min-height: 40px;
        padding: 0 15px;
        border-radius: 11px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: white;
        font-size: 11px;
        font-weight: 1000;
        letter-spacing: 0.5px;
        text-decoration: none;
        transition: 0.2s ease;
      }
      .platform-login {
        border: 1px solid rgba(79, 220, 255, 0.42);
        background: rgba(8, 46, 70, 0.72);
      }
      .platform-register {
        border: 1px solid rgba(255, 224, 116, 0.8);
        color: #2c1600;
        background: linear-gradient(180deg, #ffe79a, #ffb82f 55%, #e8810d);
        box-shadow: 0 0 20px rgba(255, 185, 45, 0.24);
      }
      .platform-login:hover,
      .platform-register:hover {
        transform: translateY(-2px);
        filter: brightness(1.08);
      }
      .game-nav {
        position: sticky;
        top: 65px;
        z-index: 49;
        min-height: 48px;
        display: flex;
        align-items: stretch;
        overflow-x: auto;
        scrollbar-width: none;
        border: 1px solid rgba(93, 226, 255, 0.14);
        border-top: 0;
        border-radius: 0 0 16px 16px;
        background: rgba(2, 15, 29, 0.94);
        box-shadow: 0 16px 34px rgba(0, 0, 0, 0.28);
      }
      .game-nav::-webkit-scrollbar {
        display: none;
      }
      .game-nav a {
        min-width: 118px;
        padding: 0 16px;
        border-right: 1px solid rgba(100, 220, 255, 0.1);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        color: rgba(220, 247, 255, 0.72);
        font-size: 11px;
        font-weight: 950;
        letter-spacing: 0.5px;
        text-decoration: none;
        white-space: nowrap;
        transition: 0.2s ease;
      }
      .game-nav a::before {
        color: #60e7ff;
        font-size: 14px;
      }
      .game-nav a:nth-child(1)::before {
        content: "⌂";
      }
      .game-nav a:nth-child(2)::before {
        content: "◆";
      }
      .game-nav a:nth-child(3)::before {
        content: "◉";
      }
      .game-nav a:nth-child(4)::before {
        content: "●";
        color: #4effa2;
      }
      .game-nav a:nth-child(5)::before {
        content: "★";
        color: #ffd85c;
      }
      .game-nav a:nth-child(6)::before {
        content: "%";
        color: #f590ff;
      }
      .game-nav a:hover,
      .game-nav a.active {
        color: #fff;
        background: linear-gradient(
          180deg,
          rgba(30, 183, 233, 0.22),
          rgba(15, 98, 167, 0.12)
        );
        box-shadow: inset 0 -3px #31d9ff;
      }
      .platform-ticker {
        margin: 12px 0;
        padding: 9px 13px;
        border: 1px solid rgba(93, 226, 255, 0.2);
        border-radius: 15px;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        background: linear-gradient(
          90deg,
          rgba(4, 32, 54, 0.9),
          rgba(10, 13, 42, 0.9)
        );
        box-shadow: inset 0 0 25px rgba(45, 211, 255, 0.05);
      }
      .ticker-stat {
        padding: 3px 16px;
        border-right: 1px solid rgba(106, 223, 255, 0.13);
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
      }
      .ticker-stat:last-child {
        border-right: 0;
      }
      .ticker-icon {
        width: 29px;
        height: 29px;
        border: 1px solid rgba(81, 223, 255, 0.26);
        border-radius: 9px;
        display: grid;
        place-items: center;
        color: #6aeaff;
        background: rgba(32, 174, 219, 0.1);
        font-size: 13px;
      }
      .ticker-copy {
        display: grid;
        gap: 1px;
      }
      .ticker-copy span {
        color: rgba(193, 235, 247, 0.58);
        font-size: 8px;
        font-weight: 900;
        letter-spacing: 0.7px;
      }
      .ticker-copy strong {
        color: #52f3c3;
        font-size: 15px;
      }
      .ticker-stat:nth-child(1) strong,
      .ticker-stat:nth-child(3) strong {
        color: #ffe273;
      }
      .hero {
        min-height: 560px;
      }
      .platform-lobby {
        position: relative;
        margin-top: 22px;
        padding: 22px;
        overflow: hidden;
        border: 1px solid rgba(83, 226, 255, 0.3);
        border-radius: 25px;
        background:
          radial-gradient(
            circle at 90% 0,
            rgba(103, 67, 255, 0.14),
            transparent 38%
          ),
          linear-gradient(145deg, rgba(4, 34, 57, 0.92), rgba(4, 11, 31, 0.94));
        box-shadow:
          0 28px 75px rgba(0, 0, 0, 0.46),
          0 0 48px rgba(36, 204, 255, 0.12);
      }
      .lobby-head {
        margin-bottom: 18px;
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 18px;
      }
      .lobby-title span {
        color: #4de5ff;
        font-size: 10px;
        font-weight: 1000;
        letter-spacing: 1.4px;
      }
      .lobby-title h2 {
        margin-top: 3px;
        font-size: clamp(24px, 4vw, 38px);
        line-height: 1;
      }
      .lobby-title p {
        margin-top: 7px;
        color: rgba(220, 244, 251, 0.62);
        font-size: 12px;
      }
      .lobby-tabs {
        display: flex;
        gap: 6px;
        overflow-x: auto;
        scrollbar-width: none;
      }
      .lobby-tabs::-webkit-scrollbar {
        display: none;
      }
      .lobby-tab {
        min-height: 34px;
        padding: 0 14px;
        border: 1px solid rgba(92, 225, 255, 0.18);
        border-radius: 9px;
        color: rgba(217, 246, 255, 0.7);
        background: rgba(8, 37, 59, 0.78);
        font-size: 10px;
        font-weight: 1000;
        cursor: pointer;
        white-space: nowrap;
      }
      .lobby-tab:hover,
      .lobby-tab.active {
        border-color: rgba(88, 229, 255, 0.62);
        color: #03141c;
        background: linear-gradient(180deg, #aaf8ff, #35d8f5);
        box-shadow: 0 0 18px rgba(56, 222, 255, 0.23);
      }
      .game-track-wrap {
        position: relative;
      }
      .game-track {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: minmax(170px, 1fr);
        grid-template-rows: 1fr;
        gap: 12px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        scrollbar-width: none;
      }
      .game-track::-webkit-scrollbar {
        display: none;
      }
      .game-card {
        position: relative;
        min-width: 0;
        overflow: hidden;
        scroll-snap-align: start;
        border: 1px solid rgba(91, 218, 255, 0.22);
        border-radius: 16px;
        background: linear-gradient(180deg, rgba(9, 47, 73, 0.96), #050f24);
        box-shadow: 0 12px 28px rgba(0, 0, 0, 0.32);
        transition: 0.25s ease;
      }
      .game-card[hidden] {
        display: none;
      }
      .game-card:hover {
        transform: translateY(-6px);
        border-color: rgba(95, 230, 255, 0.62);
        box-shadow:
          0 19px 34px rgba(0, 0, 0, 0.45),
          0 0 23px rgba(55, 210, 255, 0.18);
      }
      .game-cover {
        position: relative;
        height: 184px;
        overflow: hidden;
        display: block;
        background:
          radial-gradient(
            circle at 50% 30%,
            rgba(37, 208, 255, 0.34),
            transparent 37%
          ),
          linear-gradient(145deg, #07375b, #190b3b);
      }
      .game-cover::after {
        content: "PLAY ▶";
        position: absolute;
        inset: 0;
        display: grid;
        place-items: center;
        color: white;
        background: rgba(1, 11, 24, 0.65);
        font-size: 11px;
        font-weight: 1000;
        letter-spacing: 1px;
        opacity: 0;
        transition: 0.2s ease;
      }
      .game-card:hover .game-cover::after,
      .game-cover:focus-visible::after {
        opacity: 1;
      }
      .game-card-img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center bottom;
        filter: drop-shadow(0 13px 12px rgba(0, 0, 0, 0.5));
        transform: scale(1.04);
        transition: 0.3s ease;
      }
      .game-card-img.game-card-banner {
        object-fit: cover;
        object-position: center;
        filter: none;
        transform: scale(1.01);
      }
      .game-card:hover .game-card-img {
        transform: scale(1.1);
      }
      .game-badge {
        position: absolute;
        z-index: 3;
        top: 9px;
        left: 9px;
        padding: 5px 8px;
        border: 1px solid rgba(255, 255, 255, 0.45);
        border-radius: 7px;
        color: white;
        background: linear-gradient(135deg, #ff3d67, #c418e8);
        box-shadow: 0 3px 12px rgba(196, 24, 232, 0.35);
        font-size: 8px;
        font-weight: 1000;
        letter-spacing: 0.7px;
      }
      .game-badge.new {
        background: linear-gradient(135deg, #22dfb1, #0878dc);
        box-shadow: 0 3px 12px rgba(34, 223, 177, 0.32);
      }
      .game-badge.top {
        background: linear-gradient(135deg, #ffd84e, #f07c0d);
        color: #351900;
      }
      .game-info {
        padding: 12px 12px 13px;
      }
      .game-info h3 {
        overflow: hidden;
        color: #f7feff;
        font-size: 13px;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      .game-meta {
        margin-top: 6px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        color: rgba(198, 235, 244, 0.56);
        font-size: 9px;
        font-weight: 800;
      }
      .game-meta strong {
        color: #5ff0bd;
        font-size: 9px;
      }
      .lobby-arrow {
        position: absolute;
        z-index: 5;
        top: 77px;
        width: 34px;
        height: 48px;
        border: 1px solid rgba(94, 229, 255, 0.38);
        border-radius: 10px;
        display: grid;
        place-items: center;
        color: white;
        background: rgba(1, 17, 32, 0.9);
        box-shadow: 0 5px 20px rgba(0, 0, 0, 0.4);
        font-size: 23px;
        cursor: pointer;
      }
      .lobby-arrow:hover {
        color: #00151e;
        background: #58e8ff;
      }
      .lobby-arrow.prev {
        left: -11px;
      }
      .lobby-arrow.next {
        right: -11px;
      }
      @media (min-width: 1060px) {
        .game-track {
          grid-auto-columns: calc((100% - 60px) / 6);
        }
      }
      @media (max-width: 820px) {
        .topbar {
          min-height: 58px;
        }
        .brand span {
          font-size: 12px;
        }
        .wallet-chip {
          display: none;
        }
        .game-nav {
          top: 57px;
        }
        .game-nav a {
          min-width: 92px;
          padding: 0 12px;
        }
        .platform-ticker {
          grid-template-columns: repeat(3, 152px);
          overflow-x: auto;
        }
        .ticker-stat {
          justify-content: flex-start;
        }
        .hero {
          min-height: 520px;
        }
        .lobby-head {
          align-items: flex-start;
          flex-direction: column;
        }
        .lobby-tabs {
          width: 100%;
        }
      }
      @media (max-width: 560px) {
        .page {
          padding-top: 7px;
        }
        .topbar {
          padding: 7px 8px;
        }
        .brand img {
          width: 36px;
          height: 36px;
        }
        .brand span {
          display: none;
        }
        .platform-actions {
          gap: 5px;
        }
        .platform-login,
        .platform-register {
          min-height: 35px;
          padding: 0 10px;
          font-size: 9px;
        }
        .lang {
          padding: 7px 8px;
          font-size: 0;
        }
        .lang select {
          max-width: 63px;
          font-size: 10px;
        }
        .platform-lobby {
          margin-top: 14px;
          padding: 17px 14px 18px;
          border-radius: 20px;
        }
        .game-track {
          grid-auto-columns: 155px;
          gap: 9px;
        }
        .game-cover {
          height: 166px;
        }
        .lobby-arrow {
          display: none;
        }
      }
      /* v10 provider game library */
      .provider-card .game-cover {
        height: auto;
        aspect-ratio: 16 / 10;
      }
      .provider-card .game-card-img,
      .provider-card:hover .game-card-img {
        object-fit: cover;
        transform: scale(1.01);
      }
      .provider-card:hover .game-card-img {
        transform: scale(1.07);
      }
      .provider-mark {
        position: absolute;
        z-index: 3;
        top: 9px;
        right: 9px;
        padding: 5px 8px;
        border: 1px solid rgba(255, 255, 255, 0.26);
        border-radius: 7px;
        color: #fff;
        background: rgba(2, 13, 26, 0.76);
        font-size: 7px;
        font-weight: 1000;
        letter-spacing: 0.55px;
      }
      .provider-mark.pg {
        color: #fff2ba;
        border-color: rgba(255, 208, 65, 0.42);
      }
      .provider-mark.pragmatic {
        color: #b8efff;
        border-color: rgba(65, 193, 255, 0.42);
      }
      .provider-mark.jili {
        color: #d8c2ff;
        border-color: rgba(166, 99, 255, 0.46);
      }
      .provider-mark.nolimit {
        color: #ffb4ae;
        border-color: rgba(255, 91, 78, 0.48);
      }
      .provider-mark.jdb {
        color: #a7f4ff;
        border-color: rgba(55, 222, 255, 0.48);
      }
      .provider-mark.hacksaw {
        color: #ffe998;
        border-color: rgba(255, 214, 73, 0.48);
      }
      .provider-mark.mg {
        color: #b4ffd0;
        border-color: rgba(77, 226, 135, 0.48);
      }
      .game-meta strong.provider-name {
        overflow: hidden;
        max-width: 88px;
        color: #7cecff;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      .game-card[data-category~="pg"] {
        --provider-accent: #ffd04b;
      }
      .game-card[data-category~="pragmatic"] {
        --provider-accent: #4bd9ff;
      }
      .game-card[data-category~="jili"] {
        --provider-accent: #b773ff;
      }
      .game-card[data-category~="nolimit"] {
        --provider-accent: #ff5b4e;
      }
      .game-card[data-category~="jdb"] {
        --provider-accent: #37deff;
      }
      .game-card[data-category~="hacksaw"] {
        --provider-accent: #ffd649;
      }
      .game-card[data-category~="mg"] {
        --provider-accent: #4de287;
      }
      .game-card[data-category~="fishing"] {
        --provider-accent: #37e8ff;
      }
      .provider-card:hover {
        border-color: var(--provider-accent);
        box-shadow:
          0 19px 34px rgba(0, 0, 0, 0.45),
          0 0 23px color-mix(in srgb, var(--provider-accent) 38%, transparent);
      }

      /* Merged layout: keep the second template's animated background */
      .treasure-bubbles {
        position: absolute;
        z-index: 4;
        inset: 0;
        overflow: hidden;
        pointer-events: none;
      }
      .treasure-bubbles i {
        position: absolute;
        bottom: 18%;
        left: var(--x);
        width: var(--s);
        height: var(--s);
        border: 1px solid rgba(189, 249, 255, 0.7);
        border-radius: 50%;
        background: radial-gradient(
          circle at 30% 25%,
          rgba(255, 255, 255, 0.86),
          rgba(89, 219, 255, 0.1) 36%,
          transparent 70%
        );
        opacity: 0;
        animation: treasureBubbleRise var(--d) ease-in infinite;
        animation-delay: var(--delay);
        will-change: transform, opacity;
      }
      .treasure-bubbles i:nth-child(1) {
        --x: 20%;
        --s: 10px;
        --d: 4.2s;
        --delay: -0.8s;
      }
      .treasure-bubbles i:nth-child(2) {
        --x: 42%;
        --s: 7px;
        --d: 3.6s;
        --delay: -2.1s;
      }
      .treasure-bubbles i:nth-child(3) {
        --x: 68%;
        --s: 13px;
        --d: 4.8s;
        --delay: -3.2s;
      }
      .treasure-bubbles i:nth-child(4) {
        --x: 82%;
        --s: 6px;
        --d: 3.9s;
        --delay: -1.4s;
      }
      @keyframes treasureBubbleRise {
        0% {
          transform: translate3d(0, 16px, 0) scale(0.6);
          opacity: 0;
        }
        18% {
          opacity: 0.72;
        }
        100% {
          transform: translate3d(12px, -125px, 0) scale(1.1);
          opacity: 0;
        }
      }
      .platform-lobby,
      .event-zone,
      .pearl-carousel,
      .activity-hub {
        content-visibility: auto;
        contain-intrinsic-size: auto 680px;
      }
      .game-card,
      .event,
      .activity-link {
        contain: layout style;
      }
      @media (prefers-reduced-motion: reduce) {
        .treasure-bubbles i {
          animation: none;
        }
      }


      /* Remove the pink platform under the purple reward box */
      .wheel .event-visual::after {
        content: none !important;
        display: none !important;
        animation: none !important;
      }

    

      .provider-mark.arcade {
        color: #73f5ff;
        border-color: rgba(75, 226, 255, 0.58);
        background: linear-gradient(135deg, rgba(1, 65, 92, 0.92), rgba(13, 32, 86, 0.94));
        box-shadow: 0 0 14px rgba(55, 226, 255, 0.22);
      }
      .fishing-feature-card {
        --provider-accent: #37e8ff;
      }
      .fishing-feature-card .game-cover {
        background:
          radial-gradient(circle at 50% 18%, rgba(61, 235, 255, 0.3), transparent 45%),
          linear-gradient(145deg, #052f58, #060d2c);
      }
      .fishing-feature-card .game-card-banner {
        object-position: center;
      }
    