﻿/* Kryptex Auth Tool - Auth Pages Styles */
:root{
  --primary:#0ea5e9;
  --secondary:#2563eb;
  --accent:#38bdf8;
  --cyan:#0ea5e9;
  --purple:#2563eb;
  --green:#38bdf8;
  --bg1:#020817;
  --bg2:#0a0f1a;
  --card:rgba(10,17,40,.88);
  --border:rgba(14,165,233,.18);
  --text:#e2f0ff;
  --muted:#94b4d4;
  --danger:#ef4444;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
  min-height: 100vh;
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  background:
    radial-gradient(900px 500px at 15% 20%, rgba(14,165,233,.12), transparent),
    radial-gradient(900px 500px at 85% 20%, rgba(37,99,235,.16), transparent),
    linear-gradient(180deg, var(--bg1), var(--bg2));
  color: var(--text);
  position: relative;
  overflow-x: hidden;
}
#auth-stars {
  position: fixed; inset: 0; width: 100%; height: 100%;
  z-index: -2; pointer-events: none; opacity: 0.9;
}
.auth-card {
  width: 460px; max-width: 100%;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 24px; padding: 36px;
  box-shadow: 0 40px 120px rgba(0,0,0,.8);
  position: relative; backdrop-filter: blur(16px);
  animation: slideUp 0.6s ease-out;
}
@keyframes slideUp { from { opacity:0; transform:translateY(30px); } to { opacity:1; transform:translateY(0); } }
.auth-card::before {
  content:""; position:absolute; inset:-2px; border-radius:inherit;
  background:linear-gradient(135deg,var(--primary),var(--secondary),var(--accent));
  opacity:.3; filter:blur(28px); z-index:-1; animation:glowPulse 3s ease-in-out infinite;
}
@keyframes glowPulse { 0%,100%{opacity:.3;} 50%{opacity:.5;} }
.auth-logo {
  text-align:center;
  margin-bottom:28px;
  position:relative;
}
.auth-logo-inner {
  position:relative;
  display:inline-block;
  width:160px; height:160px;
  margin-bottom:14px;
}
.auth-logo-glow {
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:300px; height:300px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(14,165,233,.42) 0%, rgba(37,99,235,.18) 40%, transparent 70%);
  animation:authAmbient 2.5s ease-in-out infinite;
  pointer-events:none;
  z-index:0;
}
@keyframes authAmbient {
  0%,100%{opacity:.55;transform:translate(-50%,-50%) scale(1);}
  50%{opacity:1;transform:translate(-50%,-50%) scale(1.18);}
}
.auth-logo img {
  width:160px; height:160px;
  object-fit:contain;
  border-radius:32px;
  position:relative; z-index:1;
  mix-blend-mode:screen;
  filter:drop-shadow(0 0 28px rgba(14,165,233,.98)) drop-shadow(0 0 10px rgba(255,255,255,.8)) brightness(1.12) contrast(1.04);
  animation:auth3d 3.5s ease-in-out infinite;
}
@keyframes auth3d {
  0%,100%{ transform:translateY(0) scale(1) rotateY(0deg); }
  25%{     transform:translateY(-7px) scale(1.04) rotateY(5deg); }
  75%{     transform:translateY(-3px) scale(1.02) rotateY(-5deg); }
}
@keyframes float { 0%,100%{transform:translateY(0);} 50%{transform:translateY(-8px);} }
.auth-title { text-align:center; margin-bottom:26px; }
.auth-title h1 {
  font-size:26px; font-weight:800;
  background:linear-gradient(135deg,#38bdf8,#0ea5e9,#2563eb);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  margin-bottom:8px; background-size:200% auto; animation:shimmer 3s ease-in-out infinite;
  filter:drop-shadow(0 0 10px rgba(14,165,233,.5));
}
@keyframes shimmer { 0%,100%{background-position:0% center;} 50%{background-position:100% center;} }
.auth-title p { font-size:14px; color:var(--muted); margin-top:6px; }
.alert {
  background:rgba(239,68,68,.15); border:1px solid rgba(239,68,68,.4);
  color:#ffd5d5; padding:12px 16px; border-radius:14px; margin-bottom:20px;
  font-size:14px; text-align:center; animation:shake .5s ease-out;
  box-shadow:0 0 20px rgba(239,68,68,.2);
}
.alert-success {
  background:rgba(16,185,129,.15); border:1px solid rgba(16,185,129,.4);
  color:#d1fae5; box-shadow:0 0 20px rgba(16,185,129,.2);
}
@keyframes shake { 0%,100%{transform:translateX(0);} 25%{transform:translateX(-10px);} 75%{transform:translateX(10px);} }
.field { margin-bottom:18px; }
.field label { font-size:13px; font-weight:600; color:var(--muted); display:block; margin-bottom:8px; letter-spacing:.3px; }
.field input, .field select {
  width:100%; padding:14px 16px; border-radius:14px;
  border:1px solid rgba(14,165,233,.18); background:rgba(0,0,0,.4);
  color:#fff; font-size:14px; transition:all .3s ease; outline:none;
}
.field input:focus, .field select:focus {
  border-color:var(--primary);
  box-shadow:0 0 25px rgba(14,165,233,.35),0 0 50px rgba(14,165,233,.15);
  background:rgba(0,0,0,.55);
}
.pass-wrap { position:relative; }
.toggle-pass {
  position:absolute; right:16px; top:50%; transform:translateY(-50%);
  font-size:12px; font-weight:700; cursor:pointer; color:var(--primary);
  transition:all .2s; letter-spacing:.5px; user-select:none;
}
.toggle-pass:hover { color:var(--accent); }
.btn-primary {
  width:100%; padding:14px; border-radius:14px; border:none;
  background:linear-gradient(135deg,var(--primary),var(--secondary));
  color:#fff; font-size:15px; font-weight:700; cursor:pointer;
  transition:all .3s ease; box-shadow:0 8px 30px rgba(14,165,233,.4); letter-spacing:.5px;
}
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 12px 40px rgba(14,165,233,.55); }
.btn-primary:active { transform:translateY(0); }
.btn-secondary {
  width:100%; padding:12px; border-radius:14px; border:1px solid rgba(14,165,233,.3);
  background:rgba(14,165,233,.1); color:var(--primary); font-size:14px; font-weight:600;
  cursor:pointer; transition:all .3s ease; text-decoration:none; display:block;
  text-align:center; margin-top:10px;
}
.btn-secondary:hover { background:rgba(14,165,233,.2); border-color:rgba(14,165,233,.5); transform:translateY(-2px); }
.divider { display:flex; align-items:center; gap:12px; margin:20px 0; }
.divider hr { flex:1; border:none; border-top:1px solid rgba(255,255,255,.1); }
.divider span { font-size:12px; color:var(--muted); }
.links { text-align:center; margin-top:20px; font-size:13px; color:var(--muted); }
.links a { color:var(--primary); text-decoration:none; font-weight:600; transition:color .2s; }
.links a:hover { color:var(--accent); }
.center-wrap { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:20px; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media (max-width:480px) { .auth-card{padding:24px 20px;} .field-row{grid-template-columns:1fr;} }
.spinner {
  width:20px; height:20px; border:2px solid rgba(255,255,255,.3);
  border-top-color:#fff; border-radius:50%; animation:spin .6s linear infinite;
  display:inline-block; vertical-align:middle; margin-right:8px;
}
@keyframes spin { to{transform:rotate(360deg);} }
