/* ============================================================
   前台会员中心（Rssy-Blog 大气版） v2.0
   未登录：登录/注册卡片；已登录：Hero + 概览/我的评论/账号设置
   ============================================================ */

/* ---------- 公共 ---------- */
.um-wrap{max-width:1080px;margin:30px auto 64px;padding:0 16px;box-sizing:border-box;}
.um-card{background:#fff;border-radius:18px;box-shadow:0 8px 32px rgba(30,41,59,.09);}
.um-hide{display:none!important;}

/* ---------- 提示条 ---------- */
.um-alert{padding:12px 16px;border-radius:10px;font-size:13.5px;margin-bottom:16px;line-height:1.6;display:flex;align-items:center;gap:8px;}
.um-alert-err{background:#fef2f2;color:#dc2626;border:1px solid #fecaca;}
.um-alert-ok{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0;}

/* ============================================================
   未登录：登录 / 注册
   ============================================================ */
.um-guest{max-width:440px;margin:34px auto 64px;padding:0 16px;box-sizing:border-box;}
.um-auth-card{padding:34px 34px 32px;position:relative;overflow:hidden;}
.um-auth-card::before{content:"";position:absolute;top:-70px;right:-70px;width:190px;height:190px;border-radius:50%;background:linear-gradient(135deg,rgba(59,130,246,.10),rgba(139,92,246,.10));}
.um-brand-mark{position:relative;text-align:center;margin-bottom:20px;}
.um-brand-logo{width:58px;height:58px;margin:0 auto 12px;border-radius:16px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);display:flex;align-items:center;justify-content:center;font-size:27px;box-shadow:0 8px 20px rgba(99,102,241,.35);}
.um-brand-title{font-size:19px;font-weight:800;color:#111827;margin:0 0 6px;letter-spacing:.5px;}
.um-brand-sub{font-size:12.5px;color:#9ca3af;margin:0;}

.um-seg{position:relative;display:flex;background:#f1f4f9;border-radius:11px;padding:4px;margin:18px 0;}
.um-seg-btn{flex:1;border:0;background:transparent;padding:10px 0;font-size:14.5px;font-weight:700;color:#6b7280;border-radius:8px;cursor:pointer;transition:all .22s;font-family:inherit;}
.um-seg-btn.on{background:#fff;color:#2563eb;box-shadow:0 2px 10px rgba(30,41,59,.12);}

.um-label{display:block;font-size:13px;color:#4b5563;margin:14px 0 6px;font-weight:600;}
.um-input{width:100%;box-sizing:border-box;border:1.5px solid #e8edf3;border-radius:10px;padding:12px 14px;font-size:14px;color:#1f2937;background:#fafbfd;transition:all .2s;outline:none;font-family:inherit;}
.um-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.13);background:#fff;}
.um-textarea{resize:vertical;min-height:76px;line-height:1.6;}
.um-code{display:flex;gap:10px;align-items:center;}
.um-code .um-input{flex:1;min-width:0;}
.um-captcha{height:46px;border-radius:10px;cursor:pointer;border:1.5px solid #e8edf3;flex-shrink:0;}
.um-check{display:flex;align-items:center;gap:7px;font-size:13px;color:#6b7280;margin:16px 0 18px;cursor:pointer;}
.um-check input{accent-color:#3b82f6;width:15px;height:15px;flex-shrink:0;}
.um-check a{color:#2563eb;text-decoration:none;font-weight:600;}
.um-check a:hover{text-decoration:underline;}

.um-submit{width:100%;border:0;border-radius:11px;padding:13px 0;font-size:15px;font-weight:700;cursor:pointer;transition:all .22s;font-family:inherit;color:#fff;background:linear-gradient(135deg,#3b82f6,#6366f1);box-shadow:0 6px 16px rgba(79,100,229,.32);letter-spacing:2px;}
.um-submit:hover{transform:translateY(-1px);box-shadow:0 9px 22px rgba(79,100,229,.42);}
.um-submit:active{transform:translateY(0);}
.um-submit-sm{padding:11px 0;font-size:14px;margin-top:18px;letter-spacing:1px;}

.um-closed{text-align:center;padding:26px 0 14px;}
.um-closed-ico{font-size:42px;margin-bottom:10px;}
.um-closed p{margin:0 0 8px;font-size:15px;font-weight:700;color:#4b5563;}
.um-closed .um-closed-sub{font-size:12.5px;color:#9ca3af;font-weight:400;}

/* ============================================================
   已登录：Hero 欢迎横幅
   ============================================================ */
.um-hero{position:relative;overflow:hidden;border-radius:20px;background:linear-gradient(120deg,#1d4ed8 0%,#4f6ef2 45%,#7c3aed 100%);padding:30px 32px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;box-shadow:0 14px 38px rgba(59,72,246,.35);}
.um-hero-glow{position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none;}
.um-hero-glow::before{content:"";position:absolute;top:-46px;right:-30px;width:170px;height:170px;border-radius:50%;background:rgba(255,255,255,.10);}
.um-hero-glow::after{content:"";position:absolute;bottom:-70px;left:26%;width:190px;height:190px;border-radius:50%;background:rgba(255,255,255,.07);}
.um-hero-user{position:relative;display:flex;align-items:center;gap:16px;min-width:0;}
.um-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.65);box-shadow:0 6px 18px rgba(0,0,0,.22);background:#fff;}
.um-avatar-fallback{display:none;width:64px;height:64px;border-radius:50%;border:3px solid rgba(255,255,255,.65);background:rgba(255,255,255,.22);align-items:center;justify-content:center;font-size:28px;font-weight:800;flex-shrink:0;}
.um-hero-info{min-width:0;}
.um-hello{font-size:18px;font-weight:500;opacity:.92;}
.um-hello strong{font-size:21px;font-weight:800;margin-left:2px;}
.um-mail{font-size:12.5px;opacity:.75;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.um-hero-stats{position:relative;display:flex;gap:12px;}
.um-hstat{background:rgba(255,255,255,.14);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:12px 22px;text-align:center;min-width:86px;}
.um-hstat span{display:block;font-size:21px;font-weight:800;line-height:1.25;}
.um-hstat em{font-style:normal;font-size:11.5px;opacity:.82;letter-spacing:1px;}

/* ---------- 选项卡导航 ---------- */
.um-nav{display:flex;gap:10px;margin:22px 0 18px;flex-wrap:wrap;}
.um-nav-btn{display:inline-flex;align-items:center;gap:7px;background:#fff;border-radius:12px;padding:11px 20px;font-size:14px;font-weight:700;color:#4b5563;text-decoration:none;box-shadow:0 3px 14px rgba(30,41,59,.07);transition:all .2s;border:1.5px solid transparent;}
.um-nav-btn:hover{transform:translateY(-2px);box-shadow:0 7px 20px rgba(30,41,59,.12);color:#2563eb;}
.um-nav-btn.on{background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;box-shadow:0 8px 20px rgba(79,100,229,.35);}
.um-nav-ico{font-size:15px;}
.um-badge{font-style:normal;background:#ef4444;color:#fff;font-size:11px;font-weight:700;border-radius:20px;padding:1px 7px;line-height:1.5;}
.um-nav-btn.on .um-badge{background:rgba(255,255,255,.28);}

/* ---------- 面板网格 ---------- */
.um-grid{display:grid;grid-template-columns:1fr 340px;gap:18px;align-items:start;}
.um-panel{background:#fff;border-radius:16px;box-shadow:0 5px 22px rgba(30,41,59,.07);padding:22px 24px;min-width:0;}
.um-panel-wide{grid-column:1;}
.um-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #f1f4f9;}
.um-panel-title{font-size:16px;font-weight:800;color:#111827;margin:0;display:flex;align-items:center;gap:8px;}
.um-panel-title small.um-count{font-size:12px;color:#9ca3af;font-weight:500;}
.um-ico{font-size:16px;}
.um-more{font-size:12.5px;color:#6b7280;text-decoration:none;font-weight:600;}
.um-more:hover{color:#2563eb;}

/* ---------- 博客最新推送 ---------- */
.um-push{list-style:none;margin:0;padding:0;}
.um-push-item{padding:13px 6px;border-bottom:1px dashed #eef1f6;transition:background .18s;border-radius:8px;}
.um-push-item:last-child{border-bottom:0;}
.um-push-item:hover{background:#f8faff;}
.um-push-title{display:block;font-size:14.5px;font-weight:700;color:#1f2937;text-decoration:none;margin-bottom:6px;line-height:1.5;}
.um-push-title:hover{color:#2563eb;}
.um-push-meta{display:flex;gap:16px;font-size:12px;color:#9ca3af;flex-wrap:wrap;}

/* ---------- 快捷入口 ---------- */
.um-quick{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.um-quick-btn{display:flex;flex-direction:column;align-items:center;gap:5px;background:#f6f8fc;border-radius:12px;padding:15px 8px;text-decoration:none;font-size:19px;transition:all .2s;border:1.5px solid transparent;}
.um-quick-btn em{font-style:normal;font-size:12.5px;font-weight:700;color:#4b5563;}
.um-quick-btn:hover{background:#eef3ff;border-color:#c7d7fe;transform:translateY(-2px);}
.um-vip-tip{margin-top:14px;background:linear-gradient(135deg,#fff7ed,#fefce8);border:1px solid #fde68a;border-radius:12px;padding:12px 14px;}
.um-vip-tip strong{font-size:13px;color:#b45309;}
.um-vip-tip p{margin:6px 0 0;font-size:12.5px;color:#92400e;line-height:1.7;}

/* ---------- 我的评论 ---------- */
.um-cmt{list-style:none;margin:0;padding:0;}
.um-cmt-item{padding:14px 8px;border-bottom:1px dashed #eef1f6;border-radius:8px;transition:background .18s;}
.um-cmt-item:hover{background:#f8faff;}
.um-cmt-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px;flex-wrap:wrap;}
.um-cmt-article{font-size:13.5px;font-weight:700;color:#2563eb;text-decoration:none;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.um-cmt-article:hover{text-decoration:underline;}
.um-cmt-date{font-size:12px;color:#9ca3af;flex-shrink:0;}
.um-cmt-text{margin:0;font-size:13.5px;color:#4b5563;line-height:1.75;}
.um-pager{display:flex;gap:8px;justify-content:center;margin-top:18px;flex-wrap:wrap;}
.um-pager-btn{min-width:34px;text-align:center;padding:7px 10px;border-radius:8px;background:#f1f4f9;color:#4b5563;font-size:13px;font-weight:700;text-decoration:none;transition:all .2s;}
.um-pager-btn:hover{background:#e2e8f0;}
.um-pager-btn.on{background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;box-shadow:0 4px 12px rgba(79,100,229,.35);}

/* ---------- 空状态 ---------- */
.um-empty{text-align:center;padding:40px 16px 30px;color:#9ca3af;font-size:13.5px;}
.um-empty-ico{font-size:40px;margin-bottom:10px;opacity:.75;}
.um-empty p{margin:0 0 14px;}
.um-empty-btn{display:inline-block;background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;font-size:13px;font-weight:700;padding:10px 22px;border-radius:10px;text-decoration:none;box-shadow:0 5px 14px rgba(79,100,229,.32);}
.um-empty-btn:hover{opacity:.92;}

/* ---------- 账号设置 ---------- */
.um-safe-tip{margin-top:16px;background:#f0f7ff;border:1px solid #bfdbfe;border-radius:10px;padding:10px 13px;font-size:12.5px;color:#1d4ed8;line-height:1.6;}
.um-logout-row{display:flex;justify-content:center;margin-top:22px;}
.um-logout-btn{border:1.5px solid #fecaca;background:#fff;color:#ef4444;font-size:14px;font-weight:700;border-radius:11px;padding:12px 46px;cursor:pointer;transition:all .2s;font-family:inherit;}
.um-logout-btn:hover{background:#fef2f2;box-shadow:0 5px 16px rgba(239,68,68,.18);}

/* ============================================================
   第三方登录（圆形品牌图标，新增平台直接加一个 .um-ico 即可）
   ============================================================ */
.um-3rd{margin-top:22px;}
.um-3rd-line{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.um-3rd-line::before,.um-3rd-line::after{content:"";flex:1;height:1px;background:#e8ecf3;}
.um-3rd-line span{font-size:12px;color:#9aa4b5;letter-spacing:2px;}
.um-3rd-icons{display:flex;justify-content:center;gap:18px;}
.um-ico{width:48px;height:48px;border-radius:50%;background:#fff;border:1.5px solid #e8edf3;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:all .2s;box-shadow:0 4px 12px rgba(30,41,59,.10);}
.um-ico:hover{transform:translateY(-3px) scale(1.06);}
.um-ico svg{width:28px;height:28px;display:block;}
.um-ico-qq:hover{border-color:#12b7f5;box-shadow:0 8px 20px rgba(18,183,245,.30);}
.um-ico-wb:hover{border-color:#e6432e;box-shadow:0 8px 20px rgba(230,67,46,.30);}

/* ============================================================
   响应式
   ============================================================ */
@media screen and (max-width:860px){
    .um-grid{grid-template-columns:1fr;}
    .um-panel-wide{grid-column:auto;}
    .um-hero{padding:24px 20px;}
}
@media screen and (max-width:520px){
    .um-wrap{margin:18px auto 44px;}
    .um-hero{flex-direction:column;align-items:flex-start;}
    .um-hero-stats{width:100%;}
    .um-hstat{flex:1;padding:10px 8px;min-width:0;}
    .um-auth-card{padding:26px 20px 24px;}
    .um-panel{padding:18px 16px;}
    .um-nav-btn{padding:10px 15px;font-size:13px;}
}
