body { font-family: "Manrope", system-ui, sans-serif; }
.material-symbols-outlined { font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24; }
#bg-aurora { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; opacity: 0.4; }
#bg-aurora::before {
  content: ""; position: absolute; inset: -12px; filter: blur(12px);
  background-image:
    repeating-linear-gradient(100deg, #fbf9f9 0%, #fbf9f9 7%, transparent 10%, transparent 12%, #fbf9f9 16%),
    repeating-linear-gradient(100deg, #93c5fd 10%, #bfdbfe 15%, #e2e8f0 20%, #cffafe 25%, #94acc6 30%);
  background-size: 300% 200%, 200% 100%; background-position: 50% 50%, 50% 50%;
  animation: aurora-move 60s linear infinite; mix-blend-mode: soft-light;
  mask-image: radial-gradient(ellipse 120% 80% at 100% 0%, black 15%, transparent 72%);
}
@keyframes aurora-move { from { background-position: 50% 50%, 50% 50%; } to { background-position: 350% 50%, 350% 50%; } }
.shiny-title {
  background: linear-gradient(90deg, #112a3f 0%, #294056 35%, #94acc6 50%, #294056 65%, #112a3f 100%);
  background-size: 200% auto; -webkit-background-clip: text; background-clip: text; color: transparent;
  animation: shine 4s ease-in-out infinite alternate;
}
@keyframes shine { from { background-position: 0% center; } to { background-position: 100% center; } }
.btn-push { transition: transform 0.2s ease, box-shadow 0.2s ease; }
.btn-push:hover { transform: translateY(-2px); }
.btn-push:active { transform: translateY(1px) scale(0.98); }
.field { width: 100%; border-radius: 0.75rem; border: 1px solid #c3c7cd; background: #fff; padding: 0.9rem 1rem; font-size: 1rem; outline: none; }
.field:focus { border-color: #112a3f; box-shadow: 0 0 0 3px rgba(148, 172, 198, 0.4); }
.lang-toggle { display: inline-flex; align-items: center; gap: 4px; border-radius: 9999px; border: 1px solid #d6dbe1; background: #fff; padding: 3px; box-shadow: 0 1px 4px rgba(0,0,0,.06); }
.lang-btn { min-width: 38px; border-radius: 9999px; padding: 6px 12px; font-size: .75rem; font-weight: 700; letter-spacing: .04em; line-height: 1; cursor: pointer; border: none; background: transparent; color: #6B6B6B; transition: background-color .15s, color .15s; }
.lang-btn:hover:not(.active) { background: #eef1f4; color: #112a3f; }
.lang-btn:focus-visible { outline: 2px solid #94acc6; outline-offset: 2px; }
.lang-btn.active { background: #112a3f; color: #fff; }
