:root {
      --main: #2c73b8;
      --main-dark: #1b4165;
      --bg: #f7fbff;
    }
    body {
      background: var(--bg);
      margin: 0;
      font-family: "Segoe UI", Arial, sans-serif;
      color: #234;
    }
    .container {
      max-width: 440px;
      margin: 36px auto;
      background: #fff;
      border-radius: 18px;
      box-shadow: 0 4px 22px #2c73b820;
      padding: 30px 18px 22px 18px;
      min-height: 500px;
      position: relative;
    }
    .logo {
      font-size: 1.2em;
      font-weight: bold;
      text-align: center;
      color: var(--main-dark);
      margin-bottom: 8px;
      letter-spacing: -1px;
    }
    .desc {
      text-align: center;
      color: #1d5a89;
      margin-bottom: 13px;
      font-size: 0.75em;
    }
    .form-row {
      margin-bottom: 13px;
    }
    .form-row label {
      font-size: 1em;
      color: #1264a1;
      margin-bottom: 4px;
      display: block;
      font-weight: 500;
    }
    .dropzone {
      border: 2px dashed #b0c8e3;
      border-radius: 10px;
      background: #f8fbff;
      padding: 28px 13px;
      text-align: center;
      color: #356;
      font-size: 1.07em;
      cursor: pointer;
      margin-bottom: 8px;
      transition: border 0.18s, background 0.15s;
    }
    .dropzone.dragover {
      border-color: var(--main);
      background: #e3f0fc;
    }
    input[type="file"] {
      display: none;
    }
    .options-row {
      display: flex;
      gap: 9px;
      margin-bottom: 6px;
      align-items: center;
      flex-wrap: wrap;
    }
    select {
      padding: 6px 10px;
      font-size: 1em;
      border-radius: 6px;
      border: 1.1px solid #b0c8e3;
      background: #fafdff;
      color: #243554;
    }
    .preview-list {
      margin-top: 8px;
      display: flex;
      flex-direction: column;
      gap: 16px;
    }
    .preview-card {
      border: 1.1px solid #e2e8f7;
      border-radius: 10px;
      background: #fafdff;
      padding: 11px 8px;
      display: flex;
      align-items: center;
      gap: 15px;
    }
    .preview-img {
      width: 58px;
      height: 58px;
      object-fit: contain;
      border-radius: 8px;
      border: 1.1px solid #deeefd;
      background: #fff;
    }
    .preview-info {
      flex: 1;
      font-size: 0.99em;
    }
    .btn-download {
      background: var(--main);
      color: #fff;
      border: none;
      border-radius: 7px;
      padding: 8px 15px;
      font-size: 1em;
      cursor: pointer;
      margin-top: 4px;
      transition: background 0.14s;
    }
    .btn-download:hover {
      background: var(--main-dark);
    }
    section#faq {
      background: #f0f7fc;
      border-radius: 15px;
      padding: 18px 14px 13px 16px;
      margin: 34px 0 0;
      border: 1px solid #e2e8f7;
      font-size: 0.99em;
    }
    section#faq h3 {
      font-weight: bold;
      color: var(--main-dark);
      margin-bottom: 6px;
      font-size: 1.09em;
      text-align: center;
    }
    section#faq dt {
      color: #195269;
      margin-top: 10px;
      margin-bottom: 2px;
      font-weight: 500;
    }
    section#faq dd {
      color: #265a7a;
      margin-left: 7px;
      margin-bottom: 7px;
    }
    .footer {
      color: #7b98a8;
      text-align: center;
      font-size: 0.94em;
      margin-top: 18px;
      opacity: 0.95;
      line-height: 1.6;
    }
    #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 #2c73b844;
      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 13px 2vw;
      }
      #backBtn {
        bottom: 18px;
        font-size: 0.98em;
        padding: 0.48em 1em;
      }
    }