/* ---------- 右侧栏 ---------- */
.f-sidebar { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.f-widget { background: var(--f-card); border: 1px solid var(--f-line); border-radius: var(--f-radius); padding: 16px 18px; }
.f-widget-title { font-size: 13.5px; font-weight: 700; margin-bottom: 12px; display: flex; align-items: center; justify-content: space-between; }
.f-usercard-top { display: flex; align-items: center; gap: 10px; text-decoration: none; color: inherit; }
.f-usercard-idbox { display: flex; flex-direction: column; min-width: 0; }
.f-usercard-name { display: block; font-weight: 700; font-size: 14.5px; color: #1f2733; }
.f-usercard-top:hover .f-usercard-name { color: #2f6fed; }
.f-usercard-sub { display: block; font-size: 12px; color: var(--f-accent); }
.f-usercard-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; margin-top: 12px; }
.f-usercard-nav a { padding: 7px 10px; border-radius: 7px; color: #4b5563; text-decoration: none; font-size: 13px; }
.f-usercard-nav a:hover { background: #f3f4f6; }
.f-guest-title { font-weight: 700; font-size: 15px; margin-bottom: 6px; }
.f-guest-desc { color: var(--f-sub); font-size: 12.5px; margin: 0 0 12px; }
.f-domain { font-size: 14px; font-weight: 600; color: var(--f-primary); word-break: break-all; }
.f-stats { display: grid; grid-template-columns: 1fr 1fr 1fr; text-align: center; }
.f-stat b { display: block; font-size: 17px; }
.f-stat span { font-size: 11.5px; color: var(--f-sub); }
.f-toplist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.f-toplist li { display: flex; align-items: center; gap: 8px; }
.f-rank { width: 18px; height: 18px; border-radius: 4px; background: #f3f4f6; color: #9ca3af; font-size: 11px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
.f-rank.r1 { background: #fbbf24; color: #fff; }
.f-rank.r2 { background: #94a3b8; color: #fff; }
.f-rank.r3 { background: #f97316; color: #fff; }
.f-topname { font-size: 13px; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.f-toppts { margin-left: auto; font-size: 11px; color: var(--f-sub); white-space: nowrap; }
.f-newusers { display: flex; flex-wrap: wrap; gap: 8px; }
.f-online { font-weight: 600; color: #059669; font-size: 12.5px; }
.f-online-bar { height: 6px; background: #f3f4f6; border-radius: 3px; overflow: hidden; }
.f-online-bar i { display: block; height: 100%; background: linear-gradient(90deg, #10b981, #34d399); border-radius: 3px; }
.f-links { display: flex; flex-wrap: wrap; gap: 6px 12px; }
.f-links a { color: #6b7280; font-size: 12.5px; text-decoration: none; }
.f-links a:hover { color: var(--f-primary); }
.f-empty { color: var(--f-sub); font-size: 12px; }

/* ---------- 公告 / 维护提示 ---------- */
.f-notice { background: #fffbeb; border: 1px solid #fde68a; color: #92400e; border-radius: var(--f-radius); padding: 11px 16px; margin-bottom: 12px; font-size: 13px; line-height: 1.6; }
.f-maintenance { background: #fef2f2; border: 1px solid #fecaca; color: #991b1b; border-radius: var(--f-radius); padding: 11px 16px; margin-bottom: 12px; font-size: 13px; }
.f-maintenance-top { margin: 0 0 12px; }

/* ---------- 按钮 ---------- */
.f-btn-accent { display: inline-flex; align-items: center; justify-content: center; height: 34px; padding: 0 18px; border-radius: 8px; border: 0; background: var(--f-accent); color: #fff; font-size: 13px; font-weight: 600; text-decoration: none; cursor: pointer; }
.f-btn-accent:hover { opacity: .9; }
.f-btn-ghost { display: inline-flex; align-items: center; justify-content: center; height: 34px; padding: 0 18px; border-radius: 8px; border: 1px solid var(--f-line); background: #fff; color: #4b5563; font-size: 13px; text-decoration: none; cursor: pointer; }
.f-btn-block { width: 100%; margin-top: 8px; }

/* ---------- 底部 ---------- */
.f-footer { border-top: 1px solid var(--f-line); background: #fff; margin-top: 24px; }
.f-footer-inner { max-width: 1180px; margin: 0 auto; padding: 18px 16px; display: flex; flex-direction: column; align-items: center; gap: 6px; color: var(--f-sub); font-size: 12.5px; text-align: center; }
.f-footer-brand { display: inline-flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px; }
.f-footer a { color: var(--f-sub); text-decoration: none; }
.f-footer a:hover { color: var(--f-primary); }

/* 顶栏消息中心入口 + 未读角标 */
.f-msg-chip { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 9px; color: var(--f-sub); text-decoration: none; }
.f-msg-chip:hover { background: #f3f4f6; color: var(--f-primary); }
.f-msg-badge { position: absolute; top: -3px; right: -3px; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 999px; background: #dc2626; color: #fff; font-size: 10.5px; line-height: 16px; text-align: center; font-weight: 700; }

/* 作者名可点击（名片入口） */
.f-row-author { color: #6b7280; text-decoration: none; }
a.f-row-author:hover { color: var(--f-primary); }
.f-row-last a { color: #6b7280; text-decoration: none; }
.f-row-last a:hover { color: var(--f-primary); }

/* 楼层作者名 / 楼中楼作者名 可点击 */
a.f-floor-name, a.f-subreply-name { color: inherit; text-decoration: none; }
a.f-floor-name:hover, a.f-subreply-name:hover { color: var(--f-primary); }

/* 侧栏富豪榜 / 最新用户 可点击 */
a.f-topname { color: #1f2733; text-decoration: none; }
a.f-topname:hover { color: var(--f-primary); }
a.f-newuser { display: inline-flex; }

/* 正版授权归属标识（核心注入 .cms-license-brand）——跟随浅色页脚配色 */
.cms-license-brand { --cms-brand-color: var(--f-sub); }
.cms-license-brand a:hover { color: var(--f-primary); }

