:root{
  --bg:#070910;
  --panel:rgba(16,18,28,.92);
  --panel2:rgba(12,14,22,.86);
  --border:rgba(255,255,255,.10);
  --text:rgba(245,247,255,.92);
  --muted:rgba(245,247,255,.70);
  --brand1:#7dd3fc;
  --brand2:#a78bfa;
  --danger:#fb7185;
  --ok:#34d399;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Arial, "Apple Color Emoji","Segoe UI Emoji";
  background:
    radial-gradient(900px 520px at 50% 35%, rgba(125,211,252,.16), transparent 62%),
    radial-gradient(820px 520px at 52% 55%, rgba(167,139,250,.14), transparent 65%),
    linear-gradient(180deg, #070910, #04050a);
  color:var(--text);
}
a{color:var(--brand1); text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:980px;margin:0 auto;padding:22px 16px 40px}
.topbar{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:16px 18px;border:1px solid var(--border);
  background:var(--panel);border-radius:18px;backdrop-filter:blur(10px)
}
.brand{display:flex;align-items:center;gap:12px}
.brand .dot{
  width:14px;height:14px;border-radius:99px;
  background:linear-gradient(135deg,var(--brand1),var(--brand2));
  box-shadow:0 0 0 6px rgba(125,211,252,.10),0 0 24px rgba(167,139,250,.22);
}
.brand .title{font-weight:800;letter-spacing:.2px}
.brand .sub{color:var(--muted);font-size:13px;margin-top:2px}
.card{
  margin-top:18px;border:1px solid var(--border);
  background:var(--panel2);border-radius:18px;padding:18px;backdrop-filter:blur(10px)
}
h1,h2,h3{margin:0 0 10px}
p{margin:10px 0;color:var(--muted);line-height:1.5}
.grid{display:grid;gap:14px;grid-template-columns:1fr}
@media (min-width:840px){.grid{grid-template-columns:1.2fr .8fr}}
label{display:block;font-weight:700;margin:10px 0 6px}
input[type=text],input[type=email],input[type=password],input[type=number]{
  width:100%;padding:12px 12px;border-radius:14px;border:1px solid var(--border);
  background:rgba(0,0,0,.20);color:var(--text);outline:none
}
input:focus{border-color:rgba(125,211,252,.40);box-shadow:0 0 0 3px rgba(125,211,252,.12)}
.btnrow{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.25);color:var(--text);cursor:pointer;font-weight:750
}
.btn.primary{
  border-color:rgba(125,211,252,.35);
  background:linear-gradient(135deg,rgba(125,211,252,.22),rgba(167,139,250,.18));
}
.btn.danger{border-color:rgba(251,113,133,.35);background:rgba(251,113,133,.12)}
.btn:hover{filter:brightness(1.06)}
.btn:disabled{opacity:.55;cursor:not-allowed}
.notice{
  border:1px solid var(--border);background:rgba(0,0,0,.18);
  border-radius:14px;padding:12px 12px;color:var(--muted);margin-top:10px
}
.notice.ok{border-color:rgba(52,211,153,.30);background:rgba(52,211,153,.10)}
.notice.bad{border-color:rgba(251,113,133,.30);background:rgba(251,113,133,.10)}
.progress{
  height:10px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden;
  border:1px solid rgba(255,255,255,.08);margin-top:12px
}
.progress>div{height:100%;width:0%;background:linear-gradient(90deg,var(--brand1),var(--brand2))}
.choices{display:grid;gap:10px;margin-top:12px}
.choice{
  display:flex;align-items:flex-start;gap:10px;
  padding:12px;border:1px solid var(--border);border-radius:14px;background:rgba(0,0,0,.18);
  cursor:pointer
}
.choice input{margin-top:3px}
.choice:hover{border-color:rgba(125,211,252,.32)}
.small{font-size:13px;color:var(--muted)}
.footer{margin-top:18px;color:rgba(245,247,255,.55);font-size:12px}
.code{
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
  padding:8px 10px;border-radius:12px;background:rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.10);display:inline-block
}
