@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&display=swap');
  #gpmn-body-load {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background: radial-gradient(ellipse at center, #1a1a2e 0%, #0f0f23 100%);
    animation: gpmn-body-load-effect 4s forwards;
    overflow: hidden;
  }
  #gpmn-body-load::before{
    content:'';
    position:absolute; inset:0;
    background-image:
      radial-gradient(2px 2px at 20px 30px,#fff,transparent),
      radial-gradient(2px 2px at 40px 70px,rgba(255,255,255,.8),transparent),
      radial-gradient(1px 1px at 90px 40px,#fff,transparent),
      radial-gradient(1px 1px at 130px 80px,rgba(255,255,255,.6),transparent),
      radial-gradient(2px 2px at 160px 30px,#fff,transparent);
    background-repeat:repeat;
    background-size:200px 100px;
    animation:sparkle 8s linear infinite;
    opacity:.6;
  }
  @keyframes sparkle{0%{transform:translateY(0)}100%{transform:translateY(-100px)}}
  #gpmn-body-load.fade-out{animation:fadeOut .8s ease-out forwards}
  @keyframes fadeOut{to{opacity:0;visibility:hidden;transform:scale(.95)}}
  @keyframes gpmn-body-load-effect{
    0%{opacity:0;transform:scale(.9)}
    20%{opacity:1;transform:scale(1)}
    85%{opacity:1;transform:scale(1)}
    100%{opacity:1;transform:scale(1)}
  }
  .bl-logo{
    width:min(1000px,95vw);
    padding:clamp(16px,3vw,32px);
    display:grid; gap:32px; place-items:center;
    color:#fff; position:relative; z-index:2;
  }
  .planes{position:absolute; inset:0; pointer-events:none; overflow:hidden;}
  .plane{position:absolute; filter:drop-shadow(0 6px 16px rgba(0,0,0,.8));}
  .plane img{
    display:block;
    width: 240px;
    height:auto;
    filter: drop-shadow(0 0 12px rgba(255,215,0,.6)) drop-shadow(0 0 24px rgba(255,107,53,.3));
  }
  .plane .trail{
    position:absolute; top:50%; left:-60vw; height:4px; width:60vw;
    transform:translateY(-50%);
    background:linear-gradient(90deg, rgba(255,215,0,1) 0%, rgba(255,165,0,.9) 20%,
      rgba(255,140,0,.8) 40%, rgba(255,255,255,.6) 70%, rgba(135,206,235,.3) 90%, transparent 100%);
    filter:blur(1.5px); border-radius:3px;
    box-shadow:0 0 8px rgba(255,215,0,.8), 0 0 16px rgba(255,165,0,.4);
  }
  .plane-left{ top:15vh; left:-25vw; animation:planeLeftFly 5s cubic-bezier(.25,.46,.45,.94) forwards; }
  @keyframes planeLeftFly{
    0%   { transform: translateX(0) translateY(0) rotate(6deg) scale(.9); opacity:0; }
    15%  { transform: translateX(10vw) translateY(-1vh) rotate(4deg) scale(1); opacity:1; }
    50%  { transform: translateX(65vw) translateY(-4vh) rotate(2deg) scale(1.05); }
    100% { transform: translateX(130vw) translateY(-8vh) rotate(1deg) scale(1.1); opacity:.85; }
  }
  .plane-right{ bottom:12vh; right:-25vw; animation:planeRightFly 5s cubic-bezier(.25,.46,.45,.94) forwards; }
  .plane-right img{ transform: scaleX(-1); }
  @keyframes planeRightFly{
    0%   { transform: translateX(0) translateY(0) rotate(-6deg) scale(.9); opacity:0; }
    15%  { transform: translateX(-10vw) translateY(1vh) rotate(-4deg) scale(1); opacity:1; }
    50%  { transform: translateX(-65vw) translateY(4vh) rotate(-2deg) scale(1.05); }
    100% { transform: translateX(-130vw) translateY(8vh) rotate(-1deg) scale(1.1); opacity:.85; }
  }
  .centerpiece{ position:relative; display:grid; place-items:center; gap:24px; text-align:center; animation:centerFadeIn 2s ease-out forwards; }
  @keyframes centerFadeIn{0%{opacity:0;transform:translateY(30px) scale(.9)}100%{opacity:1;transform:translateY(0) scale(1)}}
  .vn-sun {
    width: min(600px, 85vw);
    height: min(400px, 57vw);
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow:
      0 20px 40px rgba(0,0,0,0.4),
      inset 0 0 0 2px rgba(255,215,0,0.3);
    mask-image: linear-gradient(180deg,
      transparent 0%,
      rgba(0,0,0,0.3) 20%,
      #000 35%,
      #000 65%,
      rgba(0,0,0,0.3) 80%,
      transparent 100%);
    -webkit-mask-image: linear-gradient(180deg,
      transparent 0%,
      rgba(0,0,0,0.3) 20%,
      #000 35%,
      #000 65%,
      rgba(0,0,0,0.3) 80%,
      transparent 100%);
  }
  .vn-sun::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(45deg,
      transparent 0%,
      rgba(255,215,0,0.1) 25%,
      transparent 50%,
      rgba(255,215,0,0.1) 75%,
      transparent 100%);
    animation: shimmer 3s ease-in-out infinite;
    z-index: 1;
  }
  @keyframes shimmer {
    0%, 100% { transform: translateX(-100%); }
    50% { transform: translateX(100%); }
  }
  .vn-sun img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translateY(0);
    animation: flagFloatEnhanced 4s ease-in-out infinite alternate;
    display: block;
  }
  @keyframes flagFloatEnhanced {
    0% {
      transform: translateY(-8px) scale(1.02);
      filter: brightness(1.1);
    }
    100% {
      transform: translateY(8px) scale(1.05);
      filter: brightness(1.2);
    }
  }
  .headline{ font-size:clamp(20px,3.2vw,42px); line-height:1.3; color:#f5f5f5; font-weight:800; text-shadow:0 2px 4px rgba(0,0,0,.8),0 0 30px rgba(255,215,0,.3); letter-spacing:-.5px; }
  .headline strong{ background:linear-gradient(135deg,#FFD700 0%,#FFA500 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; animation:textGlow 2s ease-in-out infinite alternate; }
  @keyframes textGlow{0%{filter:brightness(1)}100%{filter:brightness(1.2)}}
  .headline span{ display:inline-block; margin-top:8px; font-weight:600; font-size:.85em; color:#ffd27f; opacity:0; animation:subtitleFadeIn 1s ease-out 1.5s forwards;}
  @keyframes subtitleFadeIn{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}

  .voice-area{ display:grid; gap:16px; place-items:center; margin-top:8px; padding:20px; background:rgba(255,255,255,.05); border-radius:16px; border:1px solid rgba(255,215,0,.2); backdrop-filter:blur(10px); }
  .voice-label{ font-size:14px; color:#ffd27f; font-weight:600; opacity:.9; }
  .voice-bars{ display:inline-flex; align-items:flex-end; gap:8px; height:24px; }
  .voice-bars span{ width:5px; height:6px; background:linear-gradient(180deg,#FFD700 0%,#FF6B35 100%); border-radius:3px; animation:barPulseEnhanced 1.2s ease-in-out infinite; box-shadow:0 0 10px rgba(255,215,0,.6),0 0 20px rgba(255,107,53,.3); }
  .voice-bars span:nth-child(2){animation-delay:.1s}
  .voice-bars span:nth-child(3){animation-delay:.2s}
  .voice-bars span:nth-child(4){animation-delay:.3s}
  .voice-bars span:nth-child(5){animation-delay:.4s}
  .voice-bars span:nth-child(6){animation-delay:.5s}
  @keyframes barPulseEnhanced{0%,100%{height:4px;opacity:.7;transform:scaleY(1)}50%{height:24px;opacity:1;transform:scaleY(1.2)}}

  .audio-toggle{appearance:none;border:2px solid #FFD700;background:linear-gradient(135deg,#DA020E 0%,#B91C1C 100%);color:#fff;font-weight:700;padding:12px 20px;border-radius:12px;cursor:pointer;font-size:14px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px rgba(218,2,14,.4), inset 0 1px 0 rgba(255,255,255,.2);}
  .audio-toggle:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(218,2,14,.6), inset 0 1px 0 rgba(255,255,255,.2);border-color:#FFA500;}
  .audio-toggle:active{transform:translateY(0);box-shadow:0 2px 8px rgba(218,2,14,.4), inset 0 1px 0 rgba(255,255,255,.2);}

  .loading-progress{ position:absolute; bottom:40px; left:50%; transform:translateX(-50%); width:300px; height:4px; background:rgba(255,255,255,.1); border-radius:2px; overflow:hidden;}
  .loading-bar{ height:100%; background:linear-gradient(90deg,#FFD700 0%,#FFA500 100%); border-radius:2px; animation:loadingProgress 4.5s linear forwards;}
  @keyframes loadingProgress{0%{width:0%}100%{width:100%}}

  @media (max-width: 768px){
    .bl-logo{gap:20px; padding:clamp(12px,4vw,24px);}
    .plane img{ width: 176px; }
    .vn-sun{ height:min(280px,50vw); border-radius:16px;}
    .voice-area{ padding:16px; margin-top:4px;}
  }
  @media (max-width: 480px){
    .plane img{ width: 154px; }
    .vn-sun{ height:min(220px,45vw); }
    .voice-bars{ gap:6px; height:20px; }
    .voice-bars span{ width:4px; }
    .audio-toggle{ padding:10px 16px; font-size:13px; }
  }