/* Estilos originales */
      body {
        background: #f6fcff;
        margin: 0;
        font-family: "Segoe UI", Arial, sans-serif;
      }
      .container {
        max-width: 410px;
        margin: 38px auto;
        background: #fff;
        border-radius: 18px;
        box-shadow: 0 4px 22px #197a9033;
        padding: 30px 14px 24px;
      }
      .logo {
        text-align: center;
        color: #0c7fc2;
        font-size: 1.35em;
        font-weight: bold;
        margin-bottom: 7px;
      }
      .desc {
        color: #19788a;
        text-align: center;
        margin-bottom: 18px;
        font-size: 1.03em;
      }
      .form-group {
        margin-bottom: 18px;
      }
      label {
        display: block;
        color: #13647d;
        font-size: 0.99em;
        margin-bottom: 5px;
      }
      input[type="number"],
      input[type="text"] {
        width: 100%;
        box-sizing: border-box;
        border-radius: 7px;
        border: 1.2px solid #b5e2f2;
        font-size: 1.05em;
        padding: 9px;
        background: #fafdff;
        margin-bottom: 6px;
      }
      .options {
        display: flex;
        flex-wrap: wrap;
        gap: 13px;
        margin-bottom: 10px;
      }
      .options label {
        font-size: 0.97em;
        margin-bottom: 0;
        color: #22777a;
      }
      .pw-row {
        display: flex;
        align-items: center;
        background: #f2faff;
        border-radius: 8px;
        border: 1px solid #a6e6f0;
        margin-bottom: 12px;
        padding: 10px 9px;
        font-size: 1.19em;
        word-break: break-all;
        position: relative;
      }
      .pw-row.copied {
        background: #e6ffec;
        border-color: #17b089;
      }
      .copy-btn {
        background: #17b089;
        color: #fff;
        border: none;
        border-radius: 6px;
        padding: 6px 13px;
        cursor: pointer;
        font-size: 1em;
        font-weight: bold;
        margin-left: 9px;
        transition: background 0.16s;
      }
      .copy-btn:active {
        background: #108969;
      }
      .hint {
        color: #29b48a;
        font-size: 0.96em;
        margin-bottom: 7px;
        text-align: center;
      }
      .footer {
        color: #789;
        text-align: center;
        font-size: 0.94em;
        margin-top: 22px;
      }
      section#faq {
        background: #e9f9fc;
        border-radius: 14px;
        padding: 16px 13px 11px 16px;
        margin: 28px 0 0;
        border: 1px solid #b5e2f2;
        font-size: 0.99em;
      }
      section#faq h3 {
        font-weight: bold;
        color: #0c7fc2;
        margin-bottom: 6px;
        font-size: 1.08em;
        text-align: center;
      }
      section#faq dt {
        color: #19788a;
        margin-top: 10px;
        margin-bottom: 2px;
        font-weight: 500;
      }
      section#faq dd {
        color: #176a74;
        margin-left: 7px;
        margin-bottom: 7px;
      }
      @media (max-width: 600px) {
        .container {
          max-width: 99vw;
          padding: 12px 2vw 14px 2vw;
        }
        .pw-row {
          font-size: 1em;
        }
        section#faq {
          padding: 11px 2vw 7px 2vw;
        }
      }
      #backBtn {
        position: fixed;
        left: 50%;
        bottom: 32px;
        transform: translateX(-50%);
        background: #13b6a7;
        color: #fff;
        font-weight: 700;
        border: none;
        border-radius: 2rem;
        padding: 0.58em 1.5em;
        box-shadow: 0 4px 16px #13d2b066;
        font-size: 1.09em;
        text-decoration: none;
        cursor: pointer;
        letter-spacing: 0.01em;
        transition: background 0.15s, transform 0.12s;
        z-index: 2000;
      }
      #backBtn:hover {
        background: #0e8078;
        transform: translateX(-50%) scale(1.04);
      }