:root {
            --main: #4653ce;
            --main-dark: #283078;
            --bg: #f4f7ff;
        }
        body {
            background: var(--bg);
            margin: 0;
            font-family: "Segoe UI", Arial, sans-serif;
            color: #234;
        }
        .container {
            max-width: 540px;
            margin: 38px auto;
            background: #fff;
            border-radius: 18px;
            box-shadow: 0 4px 22px #4653ce22;
            padding: 30px 18px 26px;
        }
        .logo {
            font-size: 1.31em;
            font-weight: bold;
            color: var(--main-dark);
            text-align: center;
            margin-bottom: 10px;
        }
        .desc {
            text-align: center;
            color: #2b4899;
            margin-bottom: 18px;
            font-size: 1.07em;
        }
        .tab-row {
            display: flex;
            justify-content: center;
            gap: 8px;
            margin-bottom: 14px;
        }
        .tab-btn {
            background: #ebf0ff;
            color: #4653ce;
            border: none;
            padding: 8px 20px;
            border-radius: 10px;
            font-size: 1.02em;
            cursor: pointer;
            font-weight: bold;
            transition: background 0.14s, color 0.12s;
        }
        .tab-btn.active {
            background: var(--main);
            color: #fff;
        }
        .input-row {
            margin-bottom: 13px;
        }
        .input-row label {
            font-weight: bold;
            color: #233c87;
            margin-bottom: 6px;
            display: block;
            font-size: 1.04em;
        }
        input[type="text"],
        textarea {
            width: 100%;
            font-size: 1.05em;
            border: 1.2px solid #b3bcf2;
            border-radius: 8px;
            padding: 10px 12px;
            background: #fafdff;
            margin-bottom: 6px;
            font-family: inherit;
            box-sizing: border-box;
        }
        textarea {
            min-height: 100px;
            resize: vertical;
        }
        .action-btn {
            background: var(--main);
            color: #fff;
            border: none;
            border-radius: 9px;
            padding: 13px 0;
            width: 100%;
            font-size: 1.11em;
            font-weight: bold;
            cursor: pointer;
            margin-top: 10px;
            margin-bottom: 10px;
            transition: background 0.15s;
            box-shadow: 0 2px 10px #4653ce17;
        }
        .action-btn:active {
            background: var(--main-dark);
        }
        .result-row {
            margin-top: 16px;
            text-align: center;
        }
        .img-preview {
            max-width: 99%;
            border: 1px solid #ccd;
            border-radius: 11px;
            margin-bottom: 9px;
        }
        .download-btn {
            background: #dde5fd;
            color: #2b4899;
            border: none;
            border-radius: 7px;
            padding: 7px 20px;
            font-size: 1.04em;
            font-weight: bold;
            margin: 0 6px;
            cursor: pointer;
            transition: background 0.14s;
        }
        .download-btn:active {
            background: #bbc7fa;
        }
        .footer {
            color: #789;
            text-align: center;
            font-size: 0.95em;
            margin-top: 24px;
        }
        section#faq { margin-top: 35px; }
        section#faq h2 { margin-bottom: 13px; color: #4653ce; font-size: 1.09em; text-align: center; }
        section#faq dt { font-weight: bold; margin-top: 8px; }
        section#faq dd { margin: 0 0 7px; font-size: 0.98em; color: #2b4899; }
        #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 #4653ce33;
            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: #283078;
            transform: translateX(-50%) scale(1.04);
        }
        @media (max-width: 600px) {
            .container {
                max-width: 99vw;
                padding: 10px 2vw 12px;
            }
            #backBtn {
                bottom: 18px;
                font-size: 0.98em;
                padding: 0.48em 1em;
            }
        }