/* 交友贴吧样式表 */

	.ff-smiley-wrap{margin-top:8px;}
    .ff-smiley-panel{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:8px 6px;margin-top:6px;line-height:1;max-width:100%;}
    .ff-smiley-panel a{display:inline-block;margin:3px;line-height:0;}
    .ff-smiley-panel img{vertical-align:middle;}
    .ff-wrap{max-width:640px;margin:0 auto;padding:12px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:#1e293b;}
    .ff-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
    .ff-header-title{font-size:20px;font-weight:700;}
    .ff-header-actions{display:flex;gap:8px;align-items:center;}
    .ff-btn{display:inline-block;padding:8px 16px;border-radius:20px;text-decoration:none;font-weight:600;font-size:14px;border:none;cursor:pointer;transition:.2s;}
    .ff-btn-primary{background:#dbeafe;color:#1e40af;border:1px solid #93c5fd;}
    .ff-btn-primary:hover{background:#bfdbfe;color:#1e40af;}
    .ff-btn-outline{background:transparent;border:1.5px solid #93c5fd;color:#1e40af;}
    .ff-btn-outline:hover{background:#dbeafe;color:#1e40af;}
    .ff-btn-gray{background:#f1f5f9;color:#334155;}
    .ff-btn-danger{background:#ef4444;color:#fff;}
    .ff-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px;margin-bottom:12px;box-shadow:0 2px 8px rgba(0,0,0,.03);}
    .ff-card.is-top{border-color:#fca5a5;background:#fff7f7;}
    .ff-post-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;cursor:pointer;}
    .ff-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;pointer-events:none;}
    .ff-uname{font-weight:600;font-size:15px;pointer-events:none;}
    .ff-badge{display:inline-block;padding:1px 6px;border-radius:8px;font-size:11px;margin-left:6px;vertical-align:middle;}
    .ff-badge-vip{background:#fef3c7;color:#92400e;}
    .ff-badge-verify{background:#d1fae5;color:#065f46;}
    .ff-badge-top{background:#fee2e2;color:#991b1b;}
	.ff-badge-essence{background:#fef3c7;color:#92400e;}
    .ff-badge-hot{background:#fed7aa;color:#9a3412;}
    .ff-post-title{font-size:16px;color:#0f172a;margin:6px 0;}
    .ff-post-title a{color:inherit;text-decoration:none;}
    .ff-post-title a:hover{color:#2563eb;}
    .ff-post-excerpt{font-size:13px;color:#64748b;line-height:1.5;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;}
    .ff-post-foot{display:flex;justify-content:space-between;font-size:12px;color:#94a3b8;}
    .ff-post-img{display:block;max-width:200px;margin:8px 0 4px;border-radius:10px;}
    .ff-post-thumb{width:64px;height:64px;object-fit:cover;border-radius:8px;flex-shrink:0;display:block;}
    .ff-form label{display:block;font-size:13px;font-weight:600;margin:12px 0 6px;}
    .ff-form input[type=text],.ff-form input[type=tel],.ff-form textarea,.ff-form select{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;font-size:14px;box-sizing:border-box;}
    .ff-form textarea{min-height:100px;resize:vertical;}
    .ff-form .ff-req{color:#ef4444;margin-left:2px;}
    .ff-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:99999;justify-content:center;align-items:center;padding:20px;}
    .ff-modal.show{display:flex;}
    .ff-modal-box{background:#fff;border-radius:16px;max-width:360px;width:100%;padding:20px;position:relative;max-height:80vh;overflow:auto;}
    .ff-modal-close{position:absolute;top:8px;right:12px;font-size:24px;cursor:pointer;color:#94a3b8;line-height:1;}
    .ff-vip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px;align-items:stretch;}
    .ff-vip-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:14px 12px;text-align:center;display:flex;flex-direction:column;min-width:0;}
    .ff-vip-card.active{border-color:#2563eb;background:#eff6ff;}
    .ff-vip-card .ff-vip-reward{background:#fef3c7;color:#92400e;border:1px dashed #fcd34d;border-radius:8px;padding:5px 6px;font-size:12px;line-height:1.4;margin-bottom:10px;word-break:break-word;}
    .ff-vip-card .ff-vip-thumb{margin-top:auto;}
    .ff-vip-card .ff-price{font-size:24px;margin:6px 0;}
    @media (max-width:760px){
        .ff-vip-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
        .ff-vip-card{padding:10px 6px;}
        .ff-vip-card .ff-price{font-size:19px;}
        .ff-vip-card .ff-vip-reward{font-size:11px;padding:4px;}
        .ff-vip-card .ff-btn{padding:7px 6px;font-size:12px;}
    }
    .ff-price{font-size:28px;font-weight:800;color:#2563eb;margin:8px 0;}
    .ff-tabs{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap;}
    .ff-tab{padding:6px 14px;border-radius:20px;background:#f1f5f9;color:#475569;text-decoration:none;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:4px;}
    .ff-tab.active{background:#dbeafe;color:#1e40af;}
    .ff-tab-badge{background:#ef4444;color:#fff;border-radius:8px;padding:0 6px;font-size:10px;font-weight:700;line-height:16px;}
    .ff-notice{background:#fef3c7;color:#92400e;padding:10px 14px;border-radius:10px;font-size:13px;margin:10px 0;}
    .ff-empty{text-align:center;padding:40px 0;color:#94a3b8;}

    .ff-inbox-item{display:flex;gap:10px;padding:12px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:8px;text-decoration:none;color:inherit;transition:.2s;}
    .ff-inbox-item:hover{background:#f8fafc;border-color:#93c5fd;}

    .ff-chat-list{max-height:420px;overflow-y:auto;padding:10px;background:#f8fafc;border-radius:10px;}
    .ff-chat-msg{margin:8px 0;display:flex;}
    .ff-chat-msg.mine{justify-content:flex-end;}
    .ff-chat-msg.other{justify-content:flex-start;}
    .ff-chat-bubble{max-width:80%;padding:8px 12px;border-radius:12px;font-size:14px;word-break:break-word;line-height:1.5;}
    .ff-chat-msg.mine .ff-chat-bubble{background:#dbeafe;color:#1e40af;}
    .ff-chat-msg.other .ff-chat-bubble{background:#fff;color:#1e293b;border:1px solid #e2e8f0;}
    .ff-chat-meta{font-size:11px;color:#94a3b8;margin-top:3px;}
    .ff-chat-msg.mine .ff-chat-meta{text-align:right;}

    .ff-friends-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
    .ff-friend-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:10px 6px;text-align:center;cursor:pointer;transition:.2s;}
    .ff-friend-card:hover{border-color:#93c5fd;transform:translateY(-2px);box-shadow:0 4px 10px rgba(0,0,0,.05);}
    .ff-friend-card img{width:48px;height:48px;border-radius:50%;display:block;margin:0 auto 6px;object-fit:cover;pointer-events:none;}
    .ff-friend-name{font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;}
    .ff-friend-region{font-size:10px;color:#94a3b8;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;}
    .ff-friend-badges{min-height:14px;margin-top:2px;pointer-events:none;}
    .ff-quiz-level-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:13px;font-weight:600;}
    .ff-quiz-level-badge[data-level="轻微"]{background:#d1fae5;color:#065f46;}
    .ff-quiz-level-badge[data-level="中度"]{background:#fef3c7;color:#92400e;}
    .ff-quiz-level-badge[data-level="重症"]{background:#fee2e2;color:#991b1b;}
    .ff-pager{display:flex;justify-content:center;gap:6px;margin-top:20px;flex-wrap:wrap;}
    .ff-pager-item{display:inline-block;padding:6px 12px;border-radius:8px;background:#f1f5f9;color:#475569;text-decoration:none;font-size:13px;font-weight:600;min-width:32px;text-align:center;}
    .ff-pager-item:hover{background:#dbeafe;color:#1e40af;}
    .ff-pager-item.active{background:#dbeafe;color:#1e40af;}
    .ff-pager-info{text-align:center;font-size:12px;color:#94a3b8;margin-top:8px;}
    .ff-progress-card{background:linear-gradient(135deg,#eff6ff 0%,#f0f9ff 100%);border:1px solid #bfdbfe;border-radius:14px;padding:14px;margin-bottom:12px;}
    .ff-progress-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
    .ff-progress-title{font-size:14px;font-weight:700;color:#1e40af;}
    .ff-progress-percent{font-size:18px;font-weight:800;color:#2563eb;}
    .ff-progress-bar{height:10px;background:#e0e7ff;border-radius:6px;overflow:hidden;margin-bottom:10px;}
    .ff-progress-fill{height:100%;background:linear-gradient(90deg,#60a5fa,#2563eb);border-radius:6px;transition:width .4s;}
    .ff-progress-fill.full{background:linear-gradient(90deg,#34d399,#059669);}
    .ff-progress-todo{font-size:12px;color:#475569;line-height:1.9;}
    .ff-progress-todo a{color:#2563eb;text-decoration:none;font-weight:600;margin-left:6px;}
    .ff-progress-todo a:hover{text-decoration:underline;}
	.ff-smiley-img{display:inline-block;vertical-align:middle;max-width:22px;max-height:22px;margin:0 1px;}
	.ff-progress-done-msg{flex:1;text-align:center;font-size:12px;color:#059669;font-weight:600;padding:0 8px;}
	    /* 首页 Hero 头部 */
    .ff-home-hero{position:relative;background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 55%,#ec4899 100%);border-radius:0 0 18px 18px;margin:-24px -24px 24px;padding:18px 16px 12px;color:#fff;overflow:hidden;box-shadow:0 8px 24px rgba(99,102,241,.28);}
    .ff-home-hero::before{content:"";position:absolute;top:-50px;right:-40px;width:150px;height:150px;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 70%);border-radius:50%;pointer-events:none;}
        /* 首页帖子卡片与 Hero 对齐：左右同样撑出 24px */
    .ff-home-wrap .ff-card{margin-left:-24px;margin-right:-24px;}
    .ff-home-wrap .ff-empty,
    .ff-home-wrap .ff-notice{margin-left:-12px;margin-right:-12px;padding-left:24px;padding-right:24px;}
	.ff-home-hero::after{content:"";position:absolute;bottom:-70px;left:-40px;width:140px;height:140px;background:radial-gradient(circle,rgba(255,255,255,.14),transparent 70%);border-radius:50%;pointer-events:none;}
    .ff-hero-top{position:relative;display:flex;align-items:center;gap:12px;z-index:1;}
    .ff-hero-avatar{width:54px;height:54px;border-radius:50%;border:2px solid rgba(255,255,255,.7);object-fit:cover;flex-shrink:0;box-shadow:0 2px 8px rgba(0,0,0,.15);background:#fff;}
    .ff-hero-info{flex:1;min-width:0;}
    .ff-hero-name{font-size:16px;font-weight:700;color:#fff;display:flex;align-items:center;flex-wrap:wrap;gap:2px;line-height:1.4;}
    .ff-hero-name .ff-svg-badge{margin-left:2px;}
    .ff-hero-meta{font-size:12px;color:rgba(255,255,255,.88);margin-top:3px;}
    .ff-hero-actions{flex-shrink:0;}
    .ff-hero-btn{display:inline-block;padding:8px 16px;border-radius:20px;background:rgba(255,255,255,.95);color:#6366f1;text-decoration:none;font-weight:600;font-size:13px;transition:.2s;box-shadow:0 2px 6px rgba(0,0,0,.12);white-space:nowrap;}
    .ff-hero-btn:hover{background:#fff;transform:translateY(-1px);box-shadow:0 4px 10px rgba(0,0,0,.18);}
    .ff-hero-slogan{position:relative;z-index:1;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.22);font-size:12px;color:rgba(255,255,255,.92);letter-spacing:.3px;display:flex;align-items:center;gap:6px;line-height:1.5;}
    .ff-hero-slogan::before{content:"✦";color:rgba(255,255,255,.75);font-size:10px;flex-shrink:0;}
    @media (max-width:420px){
        .ff-friends-grid{grid-template-columns:repeat(4,1fr);gap:6px;}
        .ff-friend-card{padding:8px 4px;}
        .ff-friend-card img{width:40px;height:40px;}
        .ff-friend-name{font-size:11px;}
    }
