body {
  font-family: "Atkinson Hyperlegible Next", sans-serif; }

.password {
  font-family: "Atkinson Hyperlegible Mono", monospace;
  font-size: 2rem; }

.text-green {
  color: #8cc942; }

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 10px 0;
  text-align: center;
  background-color: #eaeaea; }

footer {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 10px 0;
  text-align: center;
  background-color: #eaeaea;
  font-size: 0.8rem; }

.password-container {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  flex-direction: column; }
  .password-container .center {
    text-align: center;
    margin-bottom: 30px; }
    .password-container .center .password {
      display: block;
      font-family: 'Atkinson Hyperlegible Mono', monospace;
      text-align: center;
      cursor: pointer;
      transition: opacity 0.3s ease-in-out, color 0.5s ease-out;
      font-size: clamp(1rem, 8vw, 2rem);
      /* Adjust size dynamically */
      overflow: hidden;
      text-overflow: ellipsis;
      min-width: 0;
      /* Prevent overflow issues */ }
      .password-container .center .password:hover {
        opacity: 0.7; }
  .password-container .icons img {
    width: 30px;
    height: 30px;
    margin: 0 10px;
    cursor: pointer;
    opacity: 0.7;
    transition: all 0.3s ease-in-out; }
    .password-container .icons img:hover {
      transform: scale(1.2);
      opacity: 1; }

.settings-panel {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 280px;
  padding: 15px;
  background-color: #f8f8f8;
  border: 1px solid #ccc;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 1000; }
  .settings-panel label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.9rem; }
  .settings-panel input[type="number"],
  .settings-panel input[type="text"] {
    width: 180px;
    padding: 5px;
    font-size: 1rem;
    border: 1px solid #ccc;
    border-radius: 4px;
    text-align: center; }
  .settings-panel input[type="checkbox"] {
    transform: scale(1.2);
    cursor: pointer; }
  .settings-panel.hidden {
    display: none; }
  .settings-panel .button-group {
    display: flex;
    justify-content: space-between;
    margin-top: 10px; }
    .settings-panel .button-group button {
      padding: 5px 10px;
      border: none;
      border-radius: 4px;
      cursor: pointer;
      font-size: 0.9rem; }
      .settings-panel .button-group button.save {
        background-color: #4CAF50;
        color: white; }
      .settings-panel .button-group button.close {
        background-color: #f44336;
        color: white; }

@media (max-width: 400px) {
  .settings-panel {
    width: 90%;
    padding: 10px; } }

body {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: calc(100vh - 50px - 30px);
  margin: 0;
  padding-top: 50px;
  padding-bottom: 30px;
  background-color: #f5f5f5;
  color: #333333; }
  body main {
    width: 100%; }
