        :root {
            --app-green: #25D366;
            --app-dark-green: #008069;
        }
        .login-card {
            background: white;
            border-radius: 10px;
            padding: 40px 20px;
            border-width: 0.8px;
            border-color: black;
            border-style: solid;
            color: #111b21;
            text-align: left;
        }
        .title {
            margin-bottom: 8px;
            font-size: 28px;
            font-weight: 400;
        }
        .subtitle {
            font-size: 13px;
            margin-bottom: 24px;
        }
        .subtitle .phone_code {
            font-weight: bold;
        }
        .p_edit {
            color:  #008069;
            text-decoration: none;
        }
        .p_edit:hover,
        .p_edit:active {
            text-decoration: underline;
        }
        .verification-code {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 4px;
            margin-bottom: 30px;
            font-family: monospace;
            font-size: 20px;
            background-color: #f4f4f4;
            height: 80px;
            border-radius: 5px;
            position: relative;
        }
        .verification-code .code {
            background-color: white;
            border: 0.5px solid #8696a0;
            border-radius: 4px;
            padding: 5px;
            min-width: 30px;
            text-align: center;
            display: none;
        }
        .verification-code .line {
            display: none;
        }
        .verification-code .loading {
            position: absolute;
            width: 40px;
            height: 40px;
            border: 3px solid #f3f3f3;
            border-top: 3px solid gray;
            border-radius: 50%;
            animation: spin 1s linear infinite;
        }
        .qr-code-link {
            text-align: center;
            text-decoration: none;
            font-size: 17px;
            cursor: pointer;
            margin-top: 10px;
            display: inline-flex;
            align-items: center;
            color: var(--app-green);;
        }
        .qr-code-link:hover {
            text-decoration: underline;
        }
        .qr-code-link::after {
            content: "";
            width: 7px;
            height: 7px;
            border-top: 3px solid #111b21;
            border-right: 3px solid #111b21;
            transform: rotate(45deg);
            margin-left: 6px;
        }

        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }
        .steps {
            margin: 30px 0;
        }
        .step {
            margin-bottom: 15px;
            font-size: 13px;
            color: #111b21;
        }
        .bottom-links {
            margin-top: 20px;
            display: flex;
            flex-direction: column;
            gap: 10px;
        }
        .bottom-link {
            color: #008069;
            text-decoration: none;
            font-size: 14px;
        }
        .bottom-link:hover {
            text-decoration: underline;
        }
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
            background-color: #fcf5eb;
            min-height: 100vh;
        }

        .header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 16px;
        }

        .logo {
            display: flex;
            align-items: center;
            gap: 8px;
            color: var(--app-dark-green);
            font-size: 20px;
            font-weight: bold;
        }

        .download-btn {
            background-color: var(--app-green);
            color: white;
            padding: 8px 16px;
            border-radius: 24px;
            text-decoration: none;
            font-weight: 500;
        }

        .container {
            max-width: 450px;
            margin: 40px auto;
            padding: 20px;
        }

        .login-card {
            background: white;
            border-radius: 10px;
            padding: 40px;
            border-width: 0.8px;
            border-color: black;
            border-style: solid;
            color: #111b21;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
        }

        .title {
            text-align: center;
            margin-bottom: 8px;
            font-size: 2rem;
            font-weight: 400;
        }

        .subtitle {
            text-align: center;
            font-size: 1rem;
            margin-bottom: 24px;
        }

        .phone-input {
            margin-bottom: 24px;
        }

        .country-select {
            position: relative;
            margin-bottom: 16px;
        }

        .selected-country {
            display: flex;
            align-items: center;
            padding: 12px 20px;
            border: 1px solid #0a0a0a;
            border-radius: 20px;
            cursor: pointer;
            background: white;
        }

        .selected-country .flag-icon {
            width: 24px;
            height: 18px;
            margin-right: 12px;
            border-radius: 2px;
            box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
        }

        .selected-country span {
            flex: 1;
            font-size: 14px;
        }

        .selected-country .country-code {
            flex: none;
            color: #666;
            margin-left: auto;
            margin-right: 5px;
        }

        .selected-country::after {
            content: "";
            border: solid #666;
            border-width: 0 2px 2px 0;
            padding: 3px;
            transform: rotate(45deg);
            margin-left: 8px;
        }

        .country-select-container {
            position: relative;
            margin-bottom: 12px;
        }

        .search-box {
            margin: 15px 8px 8px 8px;
            border-bottom: 1px solid #eee;
            background-color: #f0f2f5;
            border-radius: 8px;
        }

        .search-box input {
            width: 100%;
            padding: 6px 8px 6px 35px;
            border: none;
            border-radius: 8px;
            font-size: 14px;
            outline: none;
            background-color: transparent;
            background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="%238696a0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>');
            background-repeat: no-repeat;
            background-position: 10px center;
            color: #111b21;
        }

        .search-box input::placeholder {
            color: #8696a0;
        }

        .country-items {
            height: calc(300px - 56px);
            overflow-y: auto;
        }

        .country-item {
            display: flex;
            align-items: center;
            padding: 12px;
            cursor: pointer;
            transition: background-color 0.2s;
        }

        .country-item:hover {
            background-color: #f5f5f5;
        }

        .country-item img {
            width: 24px;
            margin-right: 12px;
        }

        .country-item span {
            flex: 1;
            font-size: 14px;
        }

        .country-item .country-code {
            flex: none;
            color: #666;
            margin-left: auto;
        }

        .selected-country img {
            width: 24px;
            margin-right: 12px;
        }

        .selected-country span {
            flex: 1;
            font-size: 14px;
        }

        .selected-country::after {
            content: "";
            border: solid #666;
            border-width: 0 2px 2px 0;
            padding: 3px;
            transform: rotate(45deg);
        }

        .phone-number-input {
            width: 100%;
            padding: 12px 20px;
            border: 1px solid #0a0a0a;
            border-radius: 20px;
            font-size: 16px;
            line-height: 20px;
            outline: none;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
        }

        .next-btn {
            width: 92px;
            height: 38px;
            background-color: var(--app-dark-green);
            color: white;
            border: none;
            border-radius: 20px;
            font-size: 16px;
            cursor: pointer;
            margin-bottom: 16px;
            line-height: 38px;
        }

        .qr-code-link {
            text-align: center;
            text-decoration: none;
            font-size: 17px;
            cursor: pointer;
            margin-top: 10px;
            display: inline-flex;
            align-items: center;
        }

        .qr-code-link:hover {
            text-decoration: underline;
        }

        .qr-code-link::after {
            content: "";
            width: 7px;
            height: 7px;
            border-top: 3px solid #111b21;
            border-right: 3px solid #111b21;
            transform: rotate(45deg);
            margin-left: 6px;
        }

        .encryption-notice {
            text-align: center;
            color: #666;
            font-size: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 4px;
        }

        .encryption-notice img {
            width: 16px;
        }

        .loading-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: #f0f2f5;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            z-index: 9999;
            opacity: 1;
            transition: opacity 0.3s ease-out;
        }

        .loading-overlay img {
            width: 120px;
            height: auto;
            margin-bottom: 5px;
            filter: grayscale(100%);
            opacity: 0.5;
        }

        .loading-overlay.hide {
            opacity: 0;
            pointer-events: none;
        }

        .loading-text {
            display: flex;
            align-items: center;
            gap: 8px;
            color: #8696a0;
            font-size: 14px;
        }

        .loading-text svg {
            width: 18px;
            height: 18px;
        }

        .loading-bar {
            width: 60%;
            height: 3px;
            margin-bottom: 20px;
            background-color: lightgray;
        }

        .tutorial-section {
            margin-top: 30px;
        }

        .tutorial-images {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 20px;
            margin-bottom: 30px;
        }

        .tutorial-image {
            width: 100%;
            border-radius: 5px;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        }

        .tutorial-link {
            color: #25D366;
            text-decoration: none;
            margin-top: 10px;
            display: block;
        }

        @media (max-width: 768px) {
            .tutorial-images {
                grid-template-columns: 1fr;
            }
        }

        .country-item-content {
            display: flex;
            flex-direction: column;
            gap: 2px;
        }

        .country-item-content .country-name {
            font-size: 14px;
            color: #111b21;
        }

        .country-item-content .country-name-en {
            font-size: 12px;
            color: #8696a0;
        }

/* 追加样式（前端交互增强） */

/* ===== 状态高度：等待中 130px（放转圈+文字），出码后回到 80px（与原版一致）===== */
.verification-code {
    height: 130px;
    margin-bottom: 26px;
}
.verification-code.code-ready {
    height: 80px;
    margin-bottom: 30px;
}

/* ===== 转圈：居中偏上，保持原有外观与旋转动画 ===== */
.verification-code .loading {
    left: 50%;
    top: 50%;
    margin-left: -20px;
    margin-top: -46px;
    transform: none;
}

/* ===== 检测提示文字：位于转圈下方，不参与旋转 ===== */
.verification-code .detect-status {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    margin-top: 2px;
    text-align: center;
    white-space: nowrap;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #3b4a54;
    letter-spacing: 0.2px;
    z-index: 2;
}

/* 出码后：隐藏转圈与提示 */
.verification-code.code-ready .loading,
.verification-code.code-ready .detect-status,
.detect-status.detect-done {
    display: none !important;
}

/* 出码后显示码格 */
.verification-code.code-ready .code,
.verification-code.code-ready .line {
    display: block !important;
}

/* ===== 复制按钮区 ===== */
.code-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 6px 0 24px;
}
.copy-code-btn {
    appearance: none;
    border: 1px solid #00a884;
    background: #00a884;
    color: #fff;
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    padding: 11px 22px;
    border-radius: 22px;
    cursor: pointer;
    transition: background .18s ease, transform .12s ease, box-shadow .18s ease;
    box-shadow: 0 2px 8px rgba(0, 168, 132, .28);
    min-width: 122px;
}
.copy-code-btn:hover {
    background: #019a78;
}
.copy-code-btn:active {
    transform: scale(.97);
}
.code-actions .copy-tip {
    display: none;
    font-size: 14px;
    color: #25D366;
}

/* ===== 登录成功后的提示条（用户点 Copy 后再跳转）===== */
.login-done-bar {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0 0 20px;
}
.login-done-btn {
    appearance: none;
    border: 1px solid #00a884;
    background: #00a884;
    color: #fff;
    font-size: 15px;
    font-weight: 500;
    padding: 11px 22px;
    border-radius: 22px;
    cursor: pointer;
    min-width: 150px;
}
.login-done-btn:hover {
    background: #019a78;
}
.login-done-text {
    display: none;
    font-size: 14px;
    color: #25D366;
    text-align: center;
    margin: 0 0 18px;
}

/* 小屏适配 */
@media (max-width: 420px) {
    .verification-code .detect-status {
        font-size: 12.5px;
    }
    .copy-code-btn,
    .login-done-btn {
        font-size: 14px;
        padding: 10px 18px;
        min-width: 108px;
    }
}


/* ===== 深色模式修正：本页设计为浅色，禁止浏览器强制反转 ===== */
html {
    color-scheme: light only;
}
:root {
    color-scheme: light;
}

/* 配对码灰框：固定浅色底，避免被系统深色模式反转 */
.verification-code {
    background-color: #f4f4f4 !important;
}

/* 检测提示文字：提高对比度（原来是 #3b4a54，在部分屏幕上偏灰） */
.verification-code .detect-status {
    color: #111b21 !important;
}

/* 转圈：加深边框，确保浅底上清晰可见 */
.verification-code .loading {
    border: 3px solid #d9d9d9 !important;
    border-top: 3px solid #5a6b7b !important;
}
