* { scrollbar-width: thin; scrollbar-color: #22303f #0b0f16; }
  html { scroll-behavior: smooth; }
  body { background: #050709; }

  .bg-grid {
    background-image:
      linear-gradient(rgba(96,165,250,0.06) 1px, transparent 1px),
      linear-gradient(90deg, rgba(96,165,250,0.06) 1px, transparent 1px);
    background-size: 42px 42px;
  }

  .radial-fade {
    background: radial-gradient(closest-side, rgba(37,99,235,0.35), rgba(37,99,235,0) 70%);
  }

  /* Radar sweep */
  .radar-wrap { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
  .radar-ring { position: absolute; border-radius: 9999px; border: 1px solid rgba(148,163,184,0.14); }
  .radar-sweep {
    position: absolute; inset: 0; border-radius: 9999px; overflow: hidden;
    animation: spin 7s linear infinite;
  }
  .radar-sweep::before {
    content: ''; position: absolute; inset: 0; border-radius: 9999px;
    /* background: conic-gradient(from 0deg, rgba(79,224,160,0.55), rgba(79,224,160,0) 28%, transparent 100%); */
    background: conic-gradient(from 0deg, rgba(226, 232, 248, 0.244), rgba(79,224,160,0) 28%, transparent 100%);
  }
  @keyframes spin { to { transform: rotate(360deg); } }

  .blip { position: absolute; width: 8px; height: 8px; border-radius: 9999px; background: #ffb15c; box-shadow: 0 0 12px 3px rgba(251,146,60,0.65); }
  /* .blip.green { background: #4fe0a0; box-shadow: 0 0 12px 3px rgba(79,224,160,0.6); } */
  .blip.green { background: #4878ef; box-shadow: 0 0 12px 3px rgba(59, 59, 240, 0.6); }
  .blip { animation: blip-pulse 2.4s ease-in-out infinite; }
  @keyframes blip-pulse { 0%,100% { opacity: .35; transform: scale(.8);} 50% { opacity: 1; transform: scale(1.15);} }

  .glass {
    background: linear-gradient(180deg, rgba(15,20,28,0.9), rgba(8,11,16,0.92));
    border: 1px solid rgba(148,163,184,0.14);
    backdrop-filter: blur(20px);
  }
  .glass-top-glow { position: relative; }
  .glass-top-glow::before {
    content: ''; position: absolute; top: 0; left: 6%; right: 6%; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(96,165,250,0.9), rgba(79,224,160,0.7), transparent);
  }

  .no-scrollbar::-webkit-scrollbar { display: none; }
  .no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

  @keyframes enter { from { opacity: 0; transform: translateY(16px); filter: blur(6px);} to { opacity: 1; transform: translateY(0); filter: blur(0);} }
  .animate-enter { animation: enter .7s cubic-bezier(.16,1,.3,1) both; }

  .step-line { background: linear-gradient(90deg, #4fe0a0 var(--p, 0%), rgba(148,163,184,0.18) var(--p, 0%)); }

  input::placeholder, select { color: #8891a1; }
  input, select {
    background: rgba(255,255,255,0.02);
  }
  input:focus, select:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59,130,246,0.18);
  }
  .field-error { border-color: #fb923c !important; }
  .field-error-msg { color: #ffb15c; }
  .field-ok { border-color: #4fe0a0 !important; }

  .marker-dot { box-shadow: 0 0 0 3px rgba(79,224,160,0.15); }

  ::selection { background: rgba(59,130,246,0.4); color: #fff; }

  .select_option {color: #1a1bad;}
  .text-white {color: #fff}
  /* @media (prefers-reduced-motion: reduce) {
    .radar-sweep, .blip, .animate-enter { animation: none !important; }
  } */