:root{
  --bg:#0f1020;
  --card:#1b1d3a;
  --text:#ffffff;
  --muted:#cfd2ff;
  --primary:#6c63ff;
  --secondary:#ff6584;
  --bar:#14162e;
}

body.light{
  --bg:#f4f6ff;
  --card:#ffffff;
  --text:#0f1020;
  --muted:#555;
  --bar:#ffffff;
}

*{
  box-sizing:border-box;
  margin:0;
  padding:0;
}

body{
  background:var(--bg);
  color:var(--text);
  font-family:'Poppins',sans-serif;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  transition:background 0.6s ease,color 0.6s ease;
}

/* TOP BAR */
.top-bar{
  position:sticky;
  top:0;
  z-index:1000;
  background:var(--bar);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0.7rem 1rem;
  box-shadow:0 6px 20px rgba(0,0,0,0.25);
}

.brand{
  display:flex;
  align-items:center;
  gap:0.6rem;
}

.logo{
  width:36px;
  height:36px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--primary),var(--secondary));
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Montserrat',sans-serif;
  font-weight:700;
  color:#fff;
}

.brand span{
  font-family:'Montserrat',sans-serif;
  font-size:1.05rem;
}

/* FIXED THEME TOGGLE */
.theme-toggle{
  border:none;
  background:var(--card);
  color:var(--text);
  width:34px;
  height:34px;
  border-radius:50%;
  cursor:pointer;
  font-size:1rem;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 4px 12px rgba(0,0,0,0.2);
}

/* MAIN */
.container{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:2rem 1rem;
}

.card{
  width:100%;
  max-width:420px;
  background:var(--card);
  padding:2rem;
  border-radius:22px;
  box-shadow:0 25px 60px rgba(0,0,0,0.3);
  text-align:center;
  animation:fadeUp 0.8s ease;
}

.card h2{
  font-family:'Montserrat',sans-serif;
  margin-bottom:1rem;
  font-size:1.6rem;
}

/* INFO BOX */
.info-box{
  margin-bottom:1.6rem;
  padding:1.2rem 1.3rem;
  border-radius:16px;
  background:linear-gradient(
    135deg,
    rgba(108,99,255,0.22),
    rgba(255,101,132,0.22)
  );
  border:1px solid rgba(108,99,255,0.45);
  backdrop-filter:blur(8px);
  box-shadow:0 10px 30px rgba(0,0,0,0.25);
  font-size:0.9rem;
  color:var(--text);
}

/* ICON RULES */
.rule{
  display:flex;
  align-items:center;
  gap:0.7rem;
  margin:0.6rem 0;
  text-align:left;
  font-size:0.9rem;
}

.rule span{
  font-size:1.3rem;
}

.rule p{
  margin:0;
  line-height:1.4;
}

input{
  width:100%;
  padding:0.9rem 1rem;
  border-radius:14px;
  border:none;
  font-size:1rem;
  margin-bottom:1rem;
  background:rgba(255,255,255,0.08);
  color:var(--text);
  outline:none;
}

input::placeholder{
  color:var(--muted);
}

button{
  width:100%;
  padding:0.95rem;
  border-radius:16px;
  border:none;
  background:linear-gradient(135deg,var(--primary),var(--secondary));
  color:#fff;
  font-size:1rem;
  font-weight:600;
  cursor:pointer;
  transition:transform 0.3s ease,box-shadow 0.3s ease;
}

button:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 35px rgba(255,101,132,0.45);
}

footer{
  text-align:center;
  padding:1.2rem;
  font-size:0.8rem;
  color:var(--muted);
}

@keyframes fadeUp{
  from{opacity:0;transform:translateY(30px);}
  to{opacity:1;transform:translateY(0);}
}

@media(max-width:600px){
  .brand span{display:none;}
}
