:root {
        --main: #8e50f9;
        --main-dark: #532e99;
        --bg: #f6f6fa;
      }
      body {
        background: var(--bg);
        margin: 0;
        font-family: "Segoe UI", Arial, sans-serif;
        color: #222;
      }
      .container {
        max-width: 430px;
        margin: 38px auto 0 auto;
        background: #fff;
        border-radius: 18px;
        box-shadow: 0 4px 22px #8e50f91a;
        padding: 27px 18px 20px 18px;
      }
      .logo {
        font-size: 1.19em;
        font-weight: bold;
        text-align: center;
        color: var(--main-dark);
        margin-bottom: 8px;
      }
      .desc {
        text-align: center;
        color: #703bb0;
        font-size: 1.01em;
        margin-bottom: 17px;
      }
      textarea {
        width: 100%;
        min-height: 100px;
        font-size: 1.11em;
        border: 1.3px solid #ccb7f7;
        border-radius: 8px;
        padding: 12px;
        background: #fafdff;
        color: #222;
        resize: vertical;
        margin-bottom: 9px;
        font-family: "Fira Mono", "Menlo", monospace;
        transition: border 0.18s;
      }
      textarea:focus {
        border-color: var(--main);
      }
      .btn-row {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        justify-content: center;
        margin-bottom: 13px;
      }
      .case-btn {
        background: var(--main);
        color: #fff;
        border: none;
        border-radius: 8px;
        padding: 11px 16px;
        font-size: 1em;
        font-weight: bold;
        cursor: pointer;
        box-shadow: 0 2px 12px #8e50f925;
        transition: background 0.15s;
      }
      .case-btn:active {
        background: var(--main-dark);
      }
      .output-label {
        margin: 9px 0 5px 1px;
        color: #754db7;
        font-size: 1.04em;
        font-weight: 600;
      }
      .output-area {
        background: #f7fafd;
        border: 1.3px solid #ccb7f7;
        border-radius: 8px;
        min-height: 80px;
        padding: 11px;
        font-size: 1.11em;
        word-break: break-all;
        font-family: "Fira Mono", "Menlo", monospace;
        position: relative;
        margin-bottom: 6px;
      }
      .copy-btn {
        background: #57bc79;
        color: #fff;
        border: none;
        border-radius: 7px;
        font-size: 0.99em;
        padding: 7px 14px;
        cursor: pointer;
        font-weight: 600;
        margin: 3px 0 0 0;
        transition: background 0.13s;
        position: absolute;
        right: 10px;
        top: 10px;
      }
      .copy-btn:active {
        background: #357955;
      }
      .footer {
        color: #789;
        text-align: center;
        font-size: 0.95em;
        margin-top: 16px;
        opacity: 0.88;
      }
      section#faq {
        margin-top: 30px;
      }
      section#faq h2 {
        margin-bottom: 13px;
        color: var(--main);
        font-size: 1.11em;
        text-align: center;
      }
      section#faq dt {
        font-weight: bold;
        margin-top: 8px;
      }
      section#faq dd {
        margin: 0 0 7px 0;
        font-size: 0.99em;
        color: #703bb0;
      }
      #backBtn {
        position: fixed;
        left: 50%;
        bottom: 32px;
        transform: translateX(-50%);
        background: var(--main);
        color: #fff;
        font-weight: 700;
        border: none;
        border-radius: 2rem;
        padding: 0.58em 1.5em;
        box-shadow: 0 4px 16px #8e50f966;
        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: var(--main-dark);
        transform: translateX(-50%) scale(1.04);
      }
      @media (max-width: 600px) {
        .container {
          max-width: 99vw;
          padding: 10px 2vw 10px 2vw;
        }
        #backBtn {
          bottom: 18px;
          font-size: 0.98em;
          padding: 0.48em 1em;
        }
      }