:root{
  --bg:#0d0d0d;
  --surface:#1a1a1a;
  --primary:#5b3df6;
  --accent:#00efab;
  --text:#ffffff;
  --muted:#a0a0a0;
  --radius:12px;
  --font:'Inter',sans-serif;
}
*{
  box-sizing:border-box;
  margin:0;
  padding:0;
}
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--font);
  line-height:1.5;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
a{
  color:var(--accent);
  text-decoration:none;
}
a:hover{
  text-decoration:underline;
}
.topbar{
  background:var(--surface);
  padding:1rem 2rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid var(--primary);
}
.container{
  width:90%;
  max-width:1200px;
  margin:2rem auto;
  flex:1;
}
.card{
  background:var(--surface);
  padding:1.5rem;
  border-radius:var(--radius);
  box-shadow:0 4px 12px rgba(0,0,0,.4);
}
.login-box{
  max-width:400px;
  margin:10vh auto;
}
input,button,textarea,select{
  width:100%;
  padding:.75rem;
  margin:.5rem 0;
  border:none;
  border-radius:6px;
  font-family:inherit;
  font-size:1rem;
}
input,textarea,select{
  background:#111;
  color:var(--text);
  border:1px solid var(--primary);
}
button{
  background:var(--primary);
  color:#fff;
  font-weight:bold;
  cursor:pointer;
  transition:background .2s;
}
button:hover{
  background:#4a2fd6;
}
.error{
  color:#ff4d4d;
  margin:.5rem 0;
}
.btn{
  display:inline-block;
  padding:.75rem 1.5rem;
  margin:.5rem .5rem .5rem 0;
  background:var(--accent);
  color:var(--bg);
  border-radius:6px;
  font-weight:bold;
  transition:opacity .2s;
}
.btn:hover{
  opacity:.9;
}
.grid{
  display:grid;
  gap:1rem;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
}
.big{
  font-size:2rem;
  margin:0;
}
pre{
  background:#111;
  padding:1rem;
  border-radius:6px;
  overflow-x:auto;
}