  * { -webkit-tap-highlight-color: transparent; }
  body { font-family: "Plus Jakarta Sans", Inter, system-ui, sans-serif; }
  .kaca { backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
  .halaman { display: none; }
  .halaman.aktif { display: block; animation: masukHalaman .3s ease-in-out; }
  @keyframes masukHalaman { from { opacity: 0; transform: translateX(14px); } to { opacity: 1; transform: translateX(0); } }
  .tombol { transition: transform .15s ease-in-out, opacity .2s ease-in-out, background-color .2s ease-in-out; }
  .tombol:hover { opacity: .92; }
  .tombol:active { transform: scale(.98); }
  .spinner { width: 18px; height: 18px; border: 2.5px solid rgba(15,23,42,.25); border-top-color: #0f172a; border-radius: 50%; animation: putar .7s linear infinite; }
  @keyframes putar { to { transform: rotate(360deg); } }
  .cincin { transition: stroke-dashoffset 1.1s ease-in-out; }
  .toast-masuk { animation: toastMasuk .25s ease-in-out; }
  @keyframes toastMasuk { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
  .modal-latar { animation: pudarIn .2s ease-in-out; }
  @keyframes pudarIn { from { opacity: 0; } to { opacity: 1; } }
