*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html, body, #root { width: 100%; height: 100%; overflow: hidden; background: #07182a; }
    @media (max-width: 767px) {
      html, body, #root { overflow: auto; }
    }
    body { font-family: 'Barlow', sans-serif; color: #f0f4f8; }

    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(24px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    @keyframes fadeDown {
      from { opacity: 0; transform: translateY(-24px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    @keyframes revealRight {
      from { clip-path: inset(0 100% 0 0); }
      to   { clip-path: inset(0 0% 0 0); }
    }
    @keyframes scaleIn {
      from { opacity: 0; transform: scale(0.92); }
      to   { opacity: 1; transform: scale(1); }
    }
    @keyframes pulse {
      0%, 100% { opacity: 0.6; }
      50% { opacity: 1; }
    }
    @keyframes pulseDot {
      0%, 100% { transform: scale(1); opacity: 1; }
      50% { transform: scale(1.4); opacity: 0.7; }
    }
    @keyframes shimmer {
      0% { background-position: 200% center; }
      100% { background-position: -200% center; }
    }
    @keyframes slideInRight {
      from { opacity: 0; transform: translateX(40px); }
      to   { opacity: 1; transform: translateX(0); }
    }
    @keyframes fadeIn {
      from { opacity: 0; }
      to   { opacity: 1; }
    }

    .anim-up   { animation: fadeUp   0.42s cubic-bezier(0.4,0,0.2,1) both; }
    .anim-down { animation: fadeDown 0.42s cubic-bezier(0.4,0,0.2,1) both; }
    .anim-scale { animation: scaleIn 0.42s cubic-bezier(0.4,0,0.2,1) both; }
    .reveal-text { animation: revealRight 0.7s cubic-bezier(0.4,0,0.2,1) both; display: inline-block; }

    .stagger-1 { animation-delay: 0.04s; }
    .stagger-2 { animation-delay: 0.08s; }
    .stagger-3 { animation-delay: 0.12s; }
    .stagger-4 { animation-delay: 0.16s; }
    .stagger-5 { animation-delay: 0.20s; }
    .stagger-6 { animation-delay: 0.24s; }
    .stagger-7 { animation-delay: 0.28s; }
    .stagger-8 { animation-delay: 0.32s; }

    ::-webkit-scrollbar { width: 6px; height: 6px; }
    ::-webkit-scrollbar-track { background: rgba(7, 24, 42, 0.4); }
    ::-webkit-scrollbar-thumb { 
      background: rgba(255, 255, 255, 0.12); 
      border-radius: 10px; 
      border: 1px solid rgba(255, 255, 255, 0.05);
      transition: background 0.3s;
    }
    ::-webkit-scrollbar-thumb:hover { 
      background: rgba(255, 255, 255, 0.25); 
    }

    input, textarea, select {
      font-family: 'Barlow', sans-serif;
      background: rgba(255,255,255,0.06);
      border: 1px solid rgba(255,255,255,0.12);
      color: #f0f4f8;
      border-radius: 3px;
      padding: 10px 14px;
      font-size: 14px;
      width: 100%;
      outline: none;
      transition: border-color 0.2s;
    }
    input:focus, textarea:focus, select:focus {
      border-color: rgba(232,79,43,0.6);
    }
    input::placeholder, textarea::placeholder { color: rgba(240,244,248,0.3); }
    select option { background: #0f2638; color: #f0f4f8; }

    .app-scroll {
      flex: 1;
      min-height: 0;
      overflow-y: auto;
      overflow-x: hidden;
      scrollbar-width: thin;
    }
