#impactFontApp{
  font-family: system-ui, Arial;
  background: linear-gradient(135deg,#0b1220,#111c33);
  color:#e5e7eb;
  padding:18px;
  border-radius:18px;
  max-width:1200px;
  margin:auto;
}

.topbar{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:12px;
}

.title{
  font-weight:700;
  color:#38bdf8;
  font-size:18px;
}

.controls{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

input{
  padding:10px;
  border-radius:10px;
  border:1px solid #23314d;
  background:#0a1426;
  color:#fff;
  min-width:220px;
}

button{
  padding:10px 12px;
  border:none;
  border-radius:10px;
  cursor:pointer;
  font-weight:600;
  background:#38bdf8;
  color:#001018;
}

button.primary{
  background:#22c55e;
}

.preview{
  background:#0a1426;
  border:1px solid #23314d;
  padding:14px;
  border-radius:14px;
  margin-bottom:12px;
  min-height:50px;
  font-size:18px;
}

.tabs{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:10px;
}

.tab{
  background:#0a1426;
  border:1px solid #23314d;
  color:#cbd5e1;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  cursor:pointer;
}

.tab.active{
  background:#38bdf8;
  color:#001018;
}

.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:10px;
}

.card{
  background:linear-gradient(145deg,#0c172a,#0a1322);
  border:1px solid #23314d;
  border-radius:14px;
  padding:10px;
}

.meta{
  display:flex;
  justify-content:space-between;
  font-size:11px;
  opacity:.8;
}

.text{
  margin-top:8px;
  padding:10px;
  background:#0a1426;
  border-radius:10px;
  word-break:break-word;
  min-height:42px;
}

.actions{
  margin-top:8px;
}

.toast{
  position:fixed;
  bottom:20px;
  left:50%;
  transform:translateX(-50%);
  background:#111827;
  border:1px solid #23314d;
  padding:10px 14px;
  border-radius:10px;
  display:none;
}