
    :root {
      --primary: #0818A8;
      --secondary: #40E0D0;
      --gradient: linear-gradient(135deg, #0818A8, #40E0D0);
    }

    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      font-family: "Inter", system-ui, sans-serif;
      background: var(--gradient);
      min-height: 100vh;
      overflow: hidden;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
    }

    /* Container */
    .loader-container {
      text-align: center;
      z-index: 2;
      padding: 2rem;
      width: 100%;
      max-width: 420px;
    }

    /* Logo */
    .logo {
      width: 110px;
      margin-bottom: 1rem;
      animation: float 3s ease-in-out infinite;
      mix-blend-mode: multiply;
    }

    @keyframes float {
      0%,100% { transform: translateY(0); }
      50% { transform: translateY(-12px); }
    }

    h1 {
      font-size: 2.4rem;
      font-weight: 800;
      margin-bottom: .3rem;
    }

    h1 span {
      background: linear-gradient(90deg, #fff, #cffff7);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }

    p {
      opacity: .9;
      margin-bottom: 2rem;
    }

    /* Progress Bar */
    .progress-box {
      width: 100%;
      height: 14px;
      background: rgba(255,255,255,.25);
      border-radius: 20px;
      overflow: hidden;
    }

    .progress-bar {
      height: 100%;
      width: 0%;
      background: linear-gradient(90deg, #fff, #cffff7);
      border-radius: 20px;
      transition: width .4s ease;
    }

    .percent {
      margin-top: .7rem;
      font-size: .9rem;
      opacity: .9;
    }

    /* Particles */
    .bubble {
      position: absolute;
      bottom: -50px;
      width: 18px;
      height: 18px;
      background: rgba(255,255,255,.25);
      border-radius: 50%;
      animation: rise linear infinite;
    }

    @keyframes rise {
      to {
        transform: translateY(-110vh);
        opacity: 0;
      }
    }

    /* Responsive */
    @media (max-width: 576px) {
      h1 { font-size: 2rem; }
      .logo { width: 90px; }
    }