:root{
  --bg:#0c1022;
  --panel:#161d3f;
  --panel2:#10173a;
  --text:#f1f5ff;
  --muted:#a6b4e6;
  --border:rgba(255,255,255,.12);
  --accent:#7c7cff;          /* subtle purple-blue */
  --accent2:#6ee7ff;
  --shadow:0 14px 38px rgba(0,0,0,.4);
  --radius:18px;
}

*{box-sizing:border-box}
html,body{height:100%}

body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;
  background:radial-gradient(900px 600px at 20% 0%, #13234a 0%, var(--bg) 55%);
  color:var(--text);
}

a{color:inherit}
a:hover{ text-decoration: underline; }

.wrap{max-width:980px;margin:0 auto;padding:28px 18px 60px}

header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:18px
}

.brand{display:flex;align-items:center;gap:10px}

.logo{
  width:36px;height:36px;border-radius:12px;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  display:grid;place-items:center;color:#081126;font-weight:900
}

.brand-title{
  font-weight:900;
  letter-spacing:.2px;
}

.brand-sub{
  font-size:12px;
  color:var(--muted);
}

nav a{
  color:var(--muted);
  text-decoration:none;
  margin-left:14px;
  font-size:14px
}
nav a:hover{color:var(--text); text-decoration:none;}

h1{font-size:38px;line-height:1.1;margin:16px 0 8px}
.sub{color:var(--muted);margin:0 0 18px;max-width:70ch}

.grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}
@media (max-width:860px){.grid{grid-template-columns:1fr}}

.card{
  background: rgba(20, 30, 70, 0.9);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius:var(--radius);
  padding:16px;
  box-shadow:var(--shadow);
}

.card{
  transition: transform .15s ease, box-shadow .15s ease;
}

.card:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 40px rgba(0,0,0,.45);
}

.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

.toolbar{
  justify-content:space-between;
  margin-bottom:12px;
}

label{font-size:13px;color:var(--muted)}

select,input,textarea{
  background:var(--panel2);
  border:1px solid rgba(255,255,255,.12);
  color:var(--text);
  padding:10px 12px;
  border-radius:12px;
  outline:none;
}

input{ width:100%; }

select:focus,input:focus,textarea:focus{border-color:rgba(78,161,255,.6)}

textarea{
  width:100%;
  resize:vertical;
}

button{
  border:0;
  border-radius:14px;
  padding:11px 14px;
  font-weight:700;
  cursor:pointer
}

.btn{
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  color:#081126;
}

.btn2{
  background:rgba(255,255,255,.08);
  color:var(--text);
  border:1px solid rgba(255,255,255,.12);
}
.btn2:hover{background:rgba(255,255,255,.12)}

.result{
  display:grid;
  place-items:center;
  padding:22px;
  border-radius:16px;
  background:rgba(12,20,44,.7);
  border:1px dashed rgba(255,255,255,.15);
  min-height:150px;
}

.name{
  font-size:34px;
  font-weight:900;
  letter-spacing:.2px;
  text-align:center
}

.tag{margin-top:8px;font-size:13px;color:var(--muted)}

.actions{
  justify-content:center;
  margin-top:14px;
}

.ad{
  display:grid;place-items:center;
  border-radius:14px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  color:var(--muted);
  font-size:13px;
}

.ad.top{height:90px;margin-bottom:14px}
.ad.inline{height:250px;margin-bottom:12px}
.ad.footer{height:100px;margin-top:16px}

.small{
  font-size:12px;
  color:var(--muted);
  line-height:1.35
}

.helper{margin-top:6px}

footer{
  margin-top:16px;
  color:var(--muted);
  font-size:13px;
  display:flex;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap
}

.toast{
  position:fixed;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  background:var(--panel2);
  border:1px solid rgba(255,255,255,.12);
  color:var(--text);
  padding:10px 14px;
  border-radius:12px;
  opacity:0;
  pointer-events:none;
  transition:.2s
}
.toast.show{opacity:1}

/* Divider line */
.divider{
  border:0;
  border-top:1px solid rgba(255,255,255,.08);
  margin:14px 0;
}

/* Two-column custom area */
.grid2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
  margin-top:8px;
}
@media (max-width:860px){
  .grid2{ grid-template-columns:1fr; }
}

/* Sidebar list */
.muted-list{
  margin:0;
  padding-left:18px;
  color:var(--muted);
  line-height:1.55;
}

.h3{
  margin:6px 0 8px;
}

/* Make some selects full width */
.full{
  width:100%;
}
