:root {
        --main: #56b1dd;
        --main-dark: #307093;
        --bg: #f3faff;
        --btn: #56b1dd;
        --btn-hover: #399ac8;
      }
      body {
        background: var(--bg);
        margin: 0;
        font-family: "Segoe UI", Arial, sans-serif;
        color: #224;
      }
      .container {
        max-width: 400px;
        margin: 38px auto 0 auto;
        background: #fff;
        border-radius: 16px;
        box-shadow: 0 4px 18px #56b1dd22;
        padding: 28px 18px 17px 18px;
      }
      .title {
        text-align: center;
        font-size: 1.32em;
        color: var(--main-dark);
        font-weight: bold;
        margin-bottom: 5px;
      }
      .subtitle {
        text-align: center;
        color: #3686a7;
        font-size: 1.01em;
        margin-bottom: 17px;
      }
      .step {
        margin-bottom: 14px;
      }
      label {
        font-weight: 600;
        margin-bottom: 3px;
        display: block;
        color: #2874a4;
        font-size: 1em;
      }
      .hint {
        color: #319a6c;
        font-size: 0.96em;
        margin-bottom: 7px;
        margin-top: -2px;
      }
      select,
      input[type="password"] {
        width: 100%;
        padding: 8px 9px;
        border-radius: 7px;
        border: 1.2px solid #cbe0ee;
        font-size: 1.05em;
        margin-bottom: 4px;
        background: #fafdff;
        color: #224;
        box-sizing: border-box;
      }
      textarea {
        width: 100%;
        min-height: 88px;
        border-radius: 8px;
        border: 1.2px solid #bee0ee;
        padding: 10px;
        font-size: 1.08em;
        background: #fafdff;
        font-family: "Fira Mono", "Menlo", monospace;
        box-sizing: border-box;
        margin-bottom: 4px;
      }
      .btn {
        width: 100%;
        background: var(--btn);
        color: #fff;
        border: none;
        border-radius: 8px;
        padding: 13px 0;
        font-size: 1.11em;
        font-weight: bold;
        margin: 14px 0 12px 0;
        cursor: pointer;
        box-shadow: 0 2px 10px #56b1dd2a;
        transition: background 0.13s;
      }
      .btn:active,
      .btn:hover {
        background: var(--btn-hover);
      }
      .btn-copy {
        width: 100%;
        background: #319a6c;
        color: #fff;
        border: none;
        border-radius: 8px;
        padding: 9px 0;
        font-size: 1em;
        margin-bottom: 3px;
        cursor: pointer;
        transition: background 0.12s;
      }
      .btn-copy:active,
      .btn-copy:hover {
        background: #247251;
      }
      .result-label {
        font-weight: 600;
        margin-top: 12px;
        margin-bottom: 2px;
        color: #2874a4;
      }
      .footer {
        color: #789;
        text-align: center;
        font-size: 0.94em;
        margin-top: 15px;
        opacity: 0.89;
      }
      .msg {
        color: #2a964b;
        font-size: 0.99em;
        text-align: center;
        min-height: 1.4em;
        margin-bottom: 4px;
      }
      .warn {
        color: #c74321;
        font-size: 0.97em;
        text-align: center;
        margin-top: 12px;
      }
      #backBtn {
        position: fixed;
        left: 50%;
        bottom: 32px;
        transform: translateX(-50%);
        background: #56b1dd;
        color: #fff;
        font-weight: 700;
        border: none;
        border-radius: 2rem;
        padding: 0.58em 1.5em;
        box-shadow: 0 4px 16px #56b1dd66;
        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: #399ac8;
        transform: translateX(-50%) scale(1.04);
      }
      @media (max-width: 540px) {
        .container {
          max-width: 99vw;
          padding: 9px 2vw 10px 2vw;
        }
        .title {
          font-size: 1.09em;
        }
        .btn {
          font-size: 0.98em;
        }
        .btn-copy {
          font-size: 0.97em;
        }
        #backBtn {
          bottom: 18px;
          font-size: 0.98em;
          padding: 0.48em 1em;
        }
      }