:root {
      --main: #24c6d2;
      --main-dark: #198b98;
      --bg: #f4fcfd;
      --box: #fff;
      --border: #e3f0f2;
      --accent: #183f5a;
      --faq-bg: #e9f6f8;
    }
    html, body {
      background: var(--bg);
      margin: 0;
      padding: 0;
    }
    body {
      font-family: "Segoe UI", Arial, sans-serif;
      min-height: 100vh;
    }
    .container {
      max-width: 430px;
      margin: 36px auto 0 auto;
      background: var(--box);
      border-radius: 20px;
      box-shadow: 0 6px 30px #0ad4d323;
      padding: 32px 16px 26px 16px;
    }
    .logo {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: 2em;
      font-weight: bold;
      justify-content: center;
      color: var(--main-dark);
      margin-bottom: 10px;
      letter-spacing: -1px;
    }
    .logo-icon {
      font-size: 1.25em;
      color: var(--main);
      filter: drop-shadow(0 2px 3px #24c6d255);
    }
    h2 {
      text-align: center;
      font-size: 1.35em;
      color: var(--accent);
      margin: 0 0 12px 0;
    }
    .desc {
      text-align: center;
      color: #286673;
      margin-bottom: 28px;
      font-size: 1.05em;
    }
    input[type="file"] {
      display: block;
      margin: 0 auto 20px auto;
    }
    .slider-wrap {
      margin: 18px 0 24px 0;
    }
    .slider-wrap label {
      font-size: 0.98em;
    }
    .slider-wrap input[type="range"] {
      width: 100%;
    }
    .gallery {
      display: flex;
      flex-direction: column;
      gap: 20px;
      margin-bottom: 16px;
    }
    .img-card {
      display: flex;
      flex-direction: row;
      gap: 10px;
      align-items: flex-start;
      background: var(--faq-bg);
      border-radius: 14px;
      padding: 10px 10px 12px 10px;
      border: 1px solid var(--border);
    }
    .img-preview {
      border-radius: 10px;
      max-width: 76px;
      max-height: 76px;
      min-width: 58px;
      object-fit: contain;
      background: #fff;
      border: 1px solid #c6e6ef;
    }
    .img-info {
      flex: 1;
    }
    .img-name {
      font-size: 1em;
      color: var(--accent);
      margin-bottom: 4px;
    }
    .img-sizes {
      font-size: 0.95em;
      color: #17787e;
      margin-bottom: 4px;
    }
    .img-actions {
      margin-top: 5px;
    }
    .download-btn {
      background: var(--main);
      color: #fff;
      padding: 7px 16px;
      border-radius: 7px;
      border: none;
      font-size: 0.98em;
      cursor: pointer;
      transition: background 0.18s;
      margin-right: 7px;
      margin-bottom: 2px;
    }
    .download-btn:active {
      background: var(--main-dark);
    }
    .all-download-btn {
      background: var(--main-dark);
      color: #fff;
      border: none;
      border-radius: 9px;
      font-size: 1em;
      width: 100%;
      margin-top: 12px;
      padding: 12px;
      cursor: pointer;
      transition: background 0.19s;
    }
    .all-download-btn:active {
      background: #104e54;
    }
    section#faq {
      background: var(--faq-bg);
      border-radius: 15px;
      padding: 18px 14px 13px 16px;
      margin: 34px 0 0 0;
      border: 1px solid var(--border);
      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;
    }
    @media (max-width: 600px) {
      .container {
        max-width: 99vw;
        padding: 12px 2vw 10px 2vw;
      }
      .img-card {
        flex-direction: column;
        align-items: center;
        gap: 5px;
      }
      .img-preview {
        max-width: 92vw;
        max-height: 44vw;
      }
    }
    #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);
    }
    @media (max-width: 600px) {
      #backBtn {
        bottom: 18px;
        font-size: 0.98em;
        padding: 0.48em 1em;
      }
    }