html, body { margin: 0; min-height: 100%; }
body {
  background: #1a1024;
  color: #f2e9ff;
  font: 16px/1.4 "Segoe UI", Tahoma, sans-serif;
}
main {
  max-width: 38rem;
  margin: 0 auto;
  padding: 18vh 1.2rem 4rem;
  text-align: center;
}
#pw {
  font: 1.55rem/1.35 ui-monospace, Consolas, monospace;
  word-break: break-all;
  margin: 0 0 2rem;
  letter-spacing: 0.04em;
  color: #e7d4ff;
}
.row, .opts {
  display: flex;
  gap: 0.8rem;
  justify-content: center;
  align-items: center;
  margin-bottom: 1rem;
}
.opts label { font-size: 0.92rem; color: #cbb8e4; }
input[type="range"] { width: 12rem; accent-color: #c084fc; }
button {
  font: inherit;
  border: 0;
  padding: 0.55rem 1.1rem;
  cursor: pointer;
  background: #c084fc;
  color: #1a1024;
}
#copy { background: transparent; color: #c084fc; outline: 1px solid #c084fc; }
