/* ============================================================
   common.css — 全站共享样式（CSS 变量 / 按钮 / 卡片 / 表单）
   所有页面通过 <link rel="stylesheet" href="common/common.css"> 引入
   设计原则：
     1. 此处只放「跨页面完全一致」的声明；页面差异保留在各页面 <style> 内
     2. :root 变量同名值不同时，此处放默认值，页面用 :root 覆盖
     3. 加载顺序：common.css 在前，页面 <style> 在后，页面可覆盖
   ============================================================ */

/* ============ 1. 全局 CSS 变量 ============ */
:root {
    /* 主色 */
    --primary-blue: #3b82f6;
    --primary-blue-dark: #2563eb;
    --primary-blue-medium: #d1def1;
    --primary-blue-light: #60a5fa;
    --primary-green: #10b981;
    --primary-green-dark: #059669;
    --primary-green-medium: #defaf1;
    --primary-green-light: #b1fadf;
    --primary-purple: #a855f7;

    /* 文本色 */
    --text-primary: #1e293b;
    --text-secondary: #64748b;
    --text-muted: #94a3b8;

    /* 背景 / 卡片（bg-gradient-* 是 bg-* 的别名，兼容历史命名） */
    --bg-start: #eff6ff;
    --bg-end: #dbeafe;
    --bg-gradient-start: #eff6ff;
    --bg-gradient-end: #dbeafe;
    --card-bg: rgba(255, 255, 255, 0.95);
    --border-color: #e2e8f0;

    /* 阴影 */
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);

    /* 圆角 */
    --radius-xs: 4px;
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-xl: 24px;
    --radius-full: 9999px;
}

/* ============ 2. 全局重置 ============ */
* { box-sizing: border-box; margin: 0; padding: 0; }

/* ============ 3. 按钮 ============ */

/* 主按钮：蓝紫渐变（登录 / 注册 / 用户中心兑换等共用） */
.btn-primary {
    width: 100%;
    border: none;
    border-radius: var(--radius-md);
    background: linear-gradient(135deg, var(--primary-blue) 0%, var(--primary-blue-dark) 100%);
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}
.btn-primary:hover {
    transform: translateY(-1px);
    box-shadow: var(--shadow-lg);
}
.btn-primary:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

/* 返回按钮：胶囊形（帮助页 / 用户中心共用） */
.back-btn {
    background: linear-gradient(135deg, var(--primary-blue) 0%, var(--primary-blue-dark) 100%);
    color: #fff;
    border: none;
    padding: 10px 18px;
    border-radius: var(--radius-full);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: var(--shadow-sm);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.back-btn:hover {
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
    background: linear-gradient(135deg, var(--primary-blue-light) 0%, var(--primary-blue) 100%);
}

/* ============ 4. 认证卡片（登录 / 注册共用） ============ */
.login-card,
.register-card {
    background: var(--card-bg);
    backdrop-filter: blur(20px);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-xl);
    width: 400px;
    max-width: 100%;
    border: 1px solid rgba(255, 255, 255, 0.5);
}

/* ============ 5. 认证页通用区块（登录 / 注册共用） ============ */

/* Logo */
.logo { text-align: center; }
.logo img { width: 56px; height: 56px; }
.logo h1 { font-weight: 700; color: var(--text-primary); }
.logo p { color: var(--text-secondary); }

/* 表单组 */
.form-group label { display: block; font-weight: 500; color: var(--text-primary); }
.form-group input {
    width: 100%;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    outline: none;
    transition: border-color 0.2s;
}
.form-group input:focus {
    border-color: var(--primary-blue);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

/* 错误提示 */
.error-msg { color: #ef4444; text-align: center; }

/* 底部链接 */
.footer-link { text-align: center; color: var(--text-secondary); }
.footer-link a { color: var(--primary-blue); text-decoration: none; font-weight: 500; }
.footer-link a:hover { text-decoration: underline; }

/* 返回首页 */
.back-home { text-align: center; }
.back-home a { color: var(--text-muted); text-decoration: none; font-size: 13px; }
.back-home a:hover { color: var(--text-secondary); }
.back-home a i { margin-right: 6px; }
