/* ==========================================================
   全局 CSS 变量
   ========================================================== */
:root {
    --bg-body: #f3f4f6;
    --bg-surface: #ffffff;
    --text-main: #111827;
    --text-muted: #6b7280;
    --border-color: #e5e7eb;
    --primary-color: #3b82f6;
    --primary-hover: #2563eb;
    --radius-md: 12px;
    --radius-sm: 8px;
    --shadow-sm: 0 2px 8px rgba(0,0,0,0.06);
    --shadow-hover: 0 12px 20px -4px rgba(0,0,0,0.12);
    --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
[data-theme="dark"] {
    --bg-body: #111827;
    --bg-surface: #1f2937;
    --text-main: #f9fafb;
    --text-muted: #9ca3af;
    --border-color: #374151;
    --primary-color: #60a5fa;
    --shadow-sm: 0 2px 8px rgba(0,0,0,0.3);
}

/* ==========================================================
   全局 SVG 图标遮罩大一统 (支持所有的 fa- 衍生类)
   ========================================================== */
i.fas, i.far, i.fab, [class^="fa-"], [class*=" fa-"] {
    display: inline-block !important;
    width: 1.15em !important;
    height: 1.15em !important;
    vertical-align: -0.15em !important;
    position: relative !important;
    top: 0 !important;
    background-color: currentColor !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    mask-position: center !important;
}
i.fas::before, i.far::before, i.fab::before { content: '' !important; }

/* ==========================================================
   全站图标库 Data URI 映射字典 (高强度单行压缩版)
   ========================================================== */
.fa-search { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E"); }
.fa-moon { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z'/%3E%3C/svg%3E"); }
.fa-sun { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3Cline x1='12' y1='1' x2='12' y2='3'/%3E%3Cline x1='12' y1='21' x2='12' y2='23'/%3E%3Cline x1='4.22' y1='4.22' x2='5.64' y2='5.64'/%3E%3Cline x1='18.36' y1='18.36' x2='19.78' y2='19.78'/%3E%3Cline x1='1' y1='12' x2='3' y2='12'/%3E%3Cline x1='21' y1='12' x2='23' y2='12'/%3E%3Cline x1='4.22' y1='19.78' x2='5.64' y2='18.36'/%3E%3Cline x1='18.36' y1='5.64' x2='19.78' y2='4.22'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3Cline x1='12' y1='1' x2='12' y2='3'/%3E%3Cline x1='12' y1='21' x2='12' y2='23'/%3E%3Cline x1='4.22' y1='4.22' x2='5.64' y2='5.64'/%3E%3Cline x1='18.36' y1='18.36' x2='19.78' y2='19.78'/%3E%3Cline x1='1' y1='12' x2='3' y2='12'/%3E%3Cline x1='21' y1='12' x2='23' y2='12'/%3E%3Cline x1='4.22' y1='19.78' x2='5.64' y2='18.36'/%3E%3Cline x1='18.36' y1='5.64' x2='19.78' y2='4.22'/%3E%3C/svg%3E"); }
.fa-bars { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='3' y1='12' x2='21' y2='12'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cline x1='3' y1='18' x2='21' y2='18'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='3' y1='12' x2='21' y2='12'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cline x1='3' y1='18' x2='21' y2='18'/%3E%3C/svg%3E"); }
.fa-user { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3Cpath d='M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3Cpath d='M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662'/%3E%3C/svg%3E"); }
.fa-coins { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 2C6.48 2 2 4.02 2 6.5s4.48 4.5 10 4.5 10-2.02 10-4.5S17.52 2 12 2zm0 14.5c-5.52 0-10-2.02-10-4.5v3c0 2.48 4.48 4.5 10 4.5s10-2.02 10-4.5v-3c0 2.48-4.48 4.5-10 4.5zm0 5c-5.52 0-10-2.02-10-4.5v3c0 2.48 4.48 4.5 10 4.5s10-2.02 10-4.5v-3c0 2.48-4.48 4.5-10 4.5z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 2C6.48 2 2 4.02 2 6.5s4.48 4.5 10 4.5 10-2.02 10-4.5S17.52 2 12 2zm0 14.5c-5.52 0-10-2.02-10-4.5v3c0 2.48 4.48 4.5 10 4.5s10-2.02 10-4.5v-3c0 2.48-4.48 4.5-10 4.5zm0 5c-5.52 0-10-2.02-10-4.5v3c0 2.48 4.48 4.5 10 4.5s10-2.02 10-4.5v-3c0 2.48-4.48 4.5-10 4.5z'/%3E%3C/svg%3E"); }
.fa-file-alt { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z'/%3E%3C/svg%3E"); }
.fa-star { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E"); }
.fa-bell { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 22c1.1 0 2-.9 2-2h-4c0 1.1.9 2 2 2zm6-6v-5c0-3.07-1.63-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.64 5.36 6 7.92 6 11v5l-2 2v1h16v-1l-2-2z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 22c1.1 0 2-.9 2-2h-4c0 1.1.9 2 2 2zm6-6v-5c0-3.07-1.63-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.64 5.36 6 7.92 6 11v5l-2 2v1h16v-1l-2-2z'/%3E%3C/svg%3E"); }
.fa-envelope { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E"); }
.fa-sign-out-alt { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpolyline points='16 17 21 12 16 7'/%3E%3Cline x1='21' y1='12' x2='9' y2='12'/%3E%3C/svg%3E"); }
.fa-cog, .fa-cogs { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); }
.fa-qq { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='currentColor' d='M433.754 420.445c-11.526 1.393-44.86-52.741-44.86-52.741 0 31.345-16.136 72.247-51.051 101.786 16.842 5.192 54.843 19.167 45.803 34.421-7.316 12.343-125.51 7.881-159.632 4.037-34.122 3.844-152.316 8.306-159.632-4.037-9.045-15.25 28.918-29.214 45.783-34.415-34.92-29.539-51.059-70.445-51.059-101.792 0 0-33.334 54.134-44.859 52.741-5.37-.65-12.424-29.644 9.347-99.704 10.261-33.024 21.995-60.478 40.144-105.779C60.683 98.063 109.816 0 224 0c113.737 0 163.156 96.133 160.264 214.963 18.118 45.223 29.912 72.85 40.144 105.778 21.768 70.06 14.716 99.053 9.346 99.704z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='currentColor' d='M433.754 420.445c-11.526 1.393-44.86-52.741-44.86-52.741 0 31.345-16.136 72.247-51.051 101.786 16.842 5.192 54.843 19.167 45.803 34.421-7.316 12.343-125.51 7.881-159.632 4.037-34.122 3.844-152.316 8.306-159.632-4.037-9.045-15.25 28.918-29.214 45.783-34.415-34.92-29.539-51.059-70.445-51.059-101.792 0 0-33.334 54.134-44.859 52.741-5.37-.65-12.424-29.644 9.347-99.704 10.261-33.024 21.995-60.478 40.144-105.779C60.683 98.063 109.816 0 224 0c113.737 0 163.156 96.133 160.264 214.963 18.118 45.223 29.912 72.85 40.144 105.778 21.768 70.06 14.716 99.053 9.346 99.704z'/%3E%3C/svg%3E"); }
.fa-headset { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 18v-6a9 9 0 0 1 18 0v6'/%3E%3Cpath d='M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z'/%3E%3Cpath d='M19 22v-3'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 18v-6a9 9 0 0 1 18 0v6'/%3E%3Cpath d='M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z'/%3E%3Cpath d='M19 22v-3'/%3E%3C/svg%3E"); }
.fa-arrow-up { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='19' x2='12' y2='5'/%3E%3Cpolyline points='5 12 12 5 19 12'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='19' x2='12' y2='5'/%3E%3Cpolyline points='5 12 12 5 19 12'/%3E%3C/svg%3E"); }
.fa-arrow-down { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='5' x2='12' y2='19'/%3E%3Cpolyline points='19 12 12 19 5 12'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='5' x2='12' y2='19'/%3E%3Cpolyline points='19 12 12 19 5 12'/%3E%3C/svg%3E"); }
.fa-times { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E"); }
.fa-newspaper { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v4'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cpath d='M2 15h10'/%3E%3Cpath d='M2 19h10'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v4'/%3E%3Cpolyline points='14 2 14 8 20 8'/%3E%3Cpath d='M2 15h10'/%3E%3Cpath d='M2 19h10'/%3E%3C/svg%3E"); }

.fa-fire { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z'/%3E%3C/svg%3E"); }
.fa-chart-line { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='23 6 13.5 15.5 8.5 10.5 1 18'/%3E%3Cpolyline points='17 6 23 6 23 12'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='23 6 13.5 15.5 8.5 10.5 1 18'/%3E%3Cpolyline points='17 6 23 6 23 12'/%3E%3C/svg%3E"); }
.fa-thumbs-up { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3'/%3E%3C/svg%3E"); }
.fa-heart { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/%3E%3C/svg%3E"); }
.fa-users { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z'/%3E%3C/svg%3E"); }
.fa-link { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71'/%3E%3Cpath d='M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71'/%3E%3C/svg%3E"); }
.fa-caret-down { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E"); }
.fa-th-large { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3C/svg%3E"); }
.fa-list-ul { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='8' y1='6' x2='21' y2='6'/%3E%3Cline x1='8' y1='12' x2='21' y2='12'/%3E%3Cline x1='8' y1='18' x2='21' y2='18'/%3E%3Cline x1='3' y1='6' x2='3.01' y2='6'/%3E%3Cline x1='3' y1='12' x2='3.01' y2='12'/%3E%3Cline x1='3' y1='18' x2='3.01' y2='18'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='8' y1='6' x2='21' y2='6'/%3E%3Cline x1='8' y1='12' x2='21' y2='12'/%3E%3Cline x1='8' y1='18' x2='21' y2='18'/%3E%3Cline x1='3' y1='6' x2='3.01' y2='6'/%3E%3Cline x1='3' y1='12' x2='3.01' y2='12'/%3E%3Cline x1='3' y1='18' x2='3.01' y2='18'/%3E%3C/svg%3E"); }
.fa-box-open { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8l-9-4-9 4v8l9 4 9-4z'/%3E%3Cpath d='M3 8l9 4 9-4M12 12v9'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8l-9-4-9 4v8l9 4 9-4z'/%3E%3Cpath d='M3 8l9 4 9-4M12 12v9'/%3E%3C/svg%3E"); }
.fa-book-open { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z'/%3E%3Cpath d='M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z'/%3E%3Cpath d='M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z'/%3E%3C/svg%3E"); }
.fa-hashtag { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' y1='9' x2='20' y2='9'/%3E%3Cline x1='4' y1='15' x2='20' y2='15'/%3E%3Cline x1='10' y1='3' x2='8' y2='21'/%3E%3Cline x1='16' y1='3' x2='14' y2='21'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' y1='9' x2='20' y2='9'/%3E%3Cline x1='4' y1='15' x2='20' y2='15'/%3E%3Cline x1='10' y1='3' x2='8' y2='21'/%3E%3Cline x1='16' y1='3' x2='14' y2='21'/%3E%3C/svg%3E"); }
.fa-history { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 4v6h6'/%3E%3Cpath d='M3.51 15a9 9 0 1 0 2.13-9.36L1 10'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 4v6h6'/%3E%3Cpath d='M3.51 15a9 9 0 1 0 2.13-9.36L1 10'/%3E%3C/svg%3E"); }
.fa-question-circle { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3'/%3E%3Ccircle cx='12' cy='17' r='1'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3'/%3E%3Ccircle cx='12' cy='17' r='1'/%3E%3C/svg%3E"); }

.fa-eye { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); }
.fa-comment-dots { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3Cpath d='M8 10h.01'/%3E%3Cpath d='M12 10h.01'/%3E%3Cpath d='M16 10h.01'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3Cpath d='M8 10h.01'/%3E%3Cpath d='M12 10h.01'/%3E%3Cpath d='M16 10h.01'/%3E%3C/svg%3E"); }
.fa-clock { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E"); }
.fa-edit { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z'/%3E%3C/svg%3E"); }
.fa-reply { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='currentColor'%3E%3Cpath d='M205 34.8c11.5 5.1 19 16.6 19 29.2v64H336c97.2 0 176 78.8 176 176c0 113.3-81.5 163.9-100.2 174.1c-2.5 1.4-5.3 1.9-8.1 1.9c-10.9 0-19.7-8.9-19.7-19.7c0-7.5 4.3-14.4 9.8-19.5c9.4-8.8 22.2-26.4 22.2-56.7c0-53-43-96-96-96H224v64c0 12.6-7.4 24.1-19 29.2s-25 3-34.4-5.4l-160-144C3.9 225.7 0 217.1 0 208s3.9-17.7 10.6-23.8l160-144c9.4-8.5 22.9-10.6 34.4-5.4z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='currentColor'%3E%3Cpath d='M205 34.8c11.5 5.1 19 16.6 19 29.2v64H336c97.2 0 176 78.8 176 176c0 113.3-81.5 163.9-100.2 174.1c-2.5 1.4-5.3 1.9-8.1 1.9c-10.9 0-19.7-8.9-19.7-19.7c0-7.5 4.3-14.4 9.8-19.5c9.4-8.8 22.2-26.4 22.2-56.7c0-53-43-96-96-96H224v64c0 12.6-7.4 24.1-19 29.2s-25 3-34.4-5.4l-160-144C3.9 225.7 0 217.1 0 208s3.9-17.7 10.6-23.8l160-144c9.4-8.5 22.9-10.6 34.4-5.4z'/%3E%3C/svg%3E"); }
.fa-arrow-alt-circle-up { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='16 12 12 8 8 12'/%3E%3Cline x1='12' y1='16' x2='12' y2='8'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='16 12 12 8 8 12'/%3E%3Cline x1='12' y1='16' x2='12' y2='8'/%3E%3C/svg%3E"); }
.fa-share-alt { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18' cy='5' r='3'/%3E%3Ccircle cx='6' cy='12' r='3'/%3E%3Ccircle cx='18' cy='19' r='3'/%3E%3Cline x1='8.59' y1='13.51' x2='15.42' y2='17.49'/%3E%3Cline x1='15.41' y1='6.51' x2='8.59' y2='10.49'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18' cy='5' r='3'/%3E%3Ccircle cx='6' cy='12' r='3'/%3E%3Ccircle cx='18' cy='19' r='3'/%3E%3Cline x1='8.59' y1='13.51' x2='15.42' y2='17.49'/%3E%3Cline x1='15.41' y1='6.51' x2='8.59' y2='10.49'/%3E%3C/svg%3E"); }
.fa-arrow-left { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='19' y1='12' x2='5' y2='12'/%3E%3Cpolyline points='12 19 5 12 12 5'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='19' y1='12' x2='5' y2='12'/%3E%3Cpolyline points='12 19 5 12 12 5'/%3E%3C/svg%3E"); }
.fa-arrow-right { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E"); }
.fa-external-link-alt { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E"); }
.fa-tags { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/%3E%3Cline x1='7' y1='7' x2='7.01' y2='7'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z'/%3E%3Cline x1='7' y1='7' x2='7.01' y2='7'/%3E%3C/svg%3E"); }
.fa-compass { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolygon points='16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolygon points='16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76'/%3E%3C/svg%3E"); }
.fa-comments { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E"); }
.fa-rss { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11a9 9 0 0 1 9 9'/%3E%3Cpath d='M4 4a16 16 0 0 1 16 16'/%3E%3Ccircle cx='5' cy='19' r='1'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11a9 9 0 0 1 9 9'/%3E%3Cpath d='M4 4a16 16 0 0 1 16 16'/%3E%3Ccircle cx='5' cy='19' r='1'/%3E%3C/svg%3E"); }
.fa-gem { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E"); }
.fa-plus-circle { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='8' x2='12' y2='16'/%3E%3Cline x1='8' y1='12' x2='16' y2='12'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='8' x2='12' y2='16'/%3E%3Cline x1='8' y1='12' x2='16' y2='12'/%3E%3C/svg%3E"); }
.fa-sync-alt { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='23 4 23 10 17 10'/%3E%3Cpolyline points='1 20 1 14 7 14'/%3E%3Cpath d='M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='23 4 23 10 17 10'/%3E%3Cpolyline points='1 20 1 14 7 14'/%3E%3Cpath d='M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15'/%3E%3C/svg%3E"); }
.fa-folder { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z'/%3E%3C/svg%3E"); }
.fa-poll { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='20' x2='18' y2='10'/%3E%3Cline x1='12' y1='20' x2='12' y2='4'/%3E%3Cline x1='6' y1='20' x2='6' y2='14'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='20' x2='18' y2='10'/%3E%3Cline x1='12' y1='20' x2='12' y2='4'/%3E%3Cline x1='6' y1='20' x2='6' y2='14'/%3E%3C/svg%3E"); }
.fa-shopping-cart { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E"); }
.fa-calendar-alt { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E"); }
.fa-thumbtack { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='17' x2='12' y2='22'/%3E%3Cpath d='M5 17h14v-1.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V6h1a2 2 0 0 0 0-4H8a2 2 0 0 0 0 4h1v4.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='17' x2='12' y2='22'/%3E%3Cpath d='M5 17h14v-1.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V6h1a2 2 0 0 0 0-4H8a2 2 0 0 0 0 4h1v4.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24Z'/%3E%3C/svg%3E"); }
.fa-image { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpolyline points='21 15 16 10 5 21'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2' ry='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpolyline points='21 15 16 10 5 21'/%3E%3C/svg%3E"); }
.fa-paperclip { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48'/%3E%3C/svg%3E"); }
.fa-quote-left { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M10.1 14.6C10.1 16 9.6 17.2 8.7 18.2C7.8 19.2 6.6 19.7 5.2 19.7C3.8 19.7 2.6 19.2 1.7 18.2C0.8 17.2 0.3 16 0.3 14.6C0.3 12.7 1.1 10.5 2.6 7.9L4.8 4.3L8.3 6.3L6.4 10.3C7.5 10.5 8.4 11 9.1 11.9C9.8 12.7 10.1 13.6 10.1 14.6ZM23.7 14.6C23.7 16 23.2 17.2 22.3 18.2C21.4 19.2 20.2 19.7 18.8 19.7C17.4 19.7 16.2 19.2 15.3 18.2C14.4 17.2 13.9 16 13.9 14.6C13.9 12.7 14.7 10.5 16.2 7.9L18.4 4.3L21.9 6.3L20 10.3C21.1 10.5 22 11 22.7 11.9C23.4 12.7 23.7 13.6 23.7 14.6Z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M10.1 14.6C10.1 16 9.6 17.2 8.7 18.2C7.8 19.2 6.6 19.7 5.2 19.7C3.8 19.7 2.6 19.2 1.7 18.2C0.8 17.2 0.3 16 0.3 14.6C0.3 12.7 1.1 10.5 2.6 7.9L4.8 4.3L8.3 6.3L6.4 10.3C7.5 10.5 8.4 11 9.1 11.9C9.8 12.7 10.1 13.6 10.1 14.6ZM23.7 14.6C23.7 16 23.2 17.2 22.3 18.2C21.4 19.2 20.2 19.7 18.8 19.7C17.4 19.7 16.2 19.2 15.3 18.2C14.4 17.2 13.9 16 13.9 14.6C13.9 12.7 14.7 10.5 16.2 7.9L18.4 4.3L21.9 6.3L20 10.3C21.1 10.5 22 11 22.7 11.9C23.4 12.7 23.7 13.6 23.7 14.6Z'/%3E%3C/svg%3E"); }
.fa-inbox { -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 16 12 14 15 10 15 8 12 2 12'/%3E%3Cpath d='M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 16 12 14 15 10 15 8 12 2 12'/%3E%3Cpath d='M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z'/%3E%3C/svg%3E"); }
/* 举报 图标 (叹号三角) */
.fa-exclamation-triangle {
    -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'%3E%3C/path%3E%3Cline x1='12' y1='9' x2='12' y2='13'%3E%3C/line%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'%3E%3C/line%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'%3E%3C/path%3E%3Cline x1='12' y1='9' x2='12' y2='13'%3E%3C/line%3E%3Cline x1='12' y1='17' x2='12.01' y2='17'%3E%3C/line%3E%3C/svg%3E");
}

/* 发送 图标 (纸飞机) */
.fa-paper-plane {
    -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='22' y1='2' x2='11' y2='13'%3E%3C/line%3E%3Cpolygon points='22 2 15 22 11 13 2 9 22 2'%3E%3C/polygon%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='22' y1='2' x2='11' y2='13'%3E%3C/line%3E%3Cpolygon points='22 2 15 22 11 13 2 9 22 2'%3E%3C/polygon%3E%3C/svg%3E");
}
/* 辩论 图标 (天平 fa-balance-scale) */
.fa-balance-scale {
    -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='3' x2='12' y2='21'/%3E%3Cline x1='9' y1='21' x2='15' y2='21'/%3E%3Cline x1='3' y1='7' x2='21' y2='7'/%3E%3Cpath d='M6 7l-2 7a4 4 0 0 0 8 0L10 7'/%3E%3Cpath d='M18 7l-2 7a4 4 0 0 0 8 0L22 7'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='3' x2='12' y2='21'/%3E%3Cline x1='9' y1='21' x2='15' y2='21'/%3E%3Cline x1='3' y1='7' x2='21' y2='7'/%3E%3Cpath d='M6 7l-2 7a4 4 0 0 0 8 0L10 7'/%3E%3Cpath d='M18 7l-2 7a4 4 0 0 0 8 0L22 7'/%3E%3C/svg%3E");
}

/* 悬赏 图标 (奖章/勋章 fa-award) */
.fa-award {
    -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='6'/%3E%3Cpath d='M15.477 12.89L17 22l-5-3-5 3 1.523-9.11'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='6'/%3E%3Cpath d='M15.477 12.89L17 22l-5-3-5 3 1.523-9.11'/%3E%3C/svg%3E");
}
/* ==========================================================
   基础重置
   ========================================================== */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; background: var(--bg-body); color: var(--text-main); line-height: 1.6; transition: background 0.3s, color 0.3s; overflow-x: hidden; }
a { color: var(--primary-color); text-decoration: none; transition: var(--transition); }
ul { list-style: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; }
.wp { max-width: 1200px; margin: 0 auto; padding: 0 16px; width: 100%; box-sizing: border-box; clear: both; }
.cl::after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }

/* 高颜值按钮样式 */
.btn { display: inline-flex; align-items: center; justify-content: center; padding: 8px 22px; border-radius: 30px; font-size: 0.95rem; font-weight: 600; transition: var(--transition); letter-spacing: 0.5px; border: 1px solid transparent; cursor: pointer; }
.btn--pill { border-radius: 30px; }
.btn--link { border-color: var(--border-color); color: var(--text-main); background: var(--bg-surface); box-shadow: var(--shadow-sm); }
.btn--link:hover { border-color: var(--primary-color); color: var(--primary-color); background: rgba(59,130,246,0.05); transform: translateY(-2px); box-shadow: 0 6px 12px rgba(0,0,0,0.08); }
.btn--pri { background: linear-gradient(135deg, var(--primary-hover), var(--primary-color)); color: #fff; box-shadow: 0 4px 12px rgba(59,130,246,0.3); border-radius: 30px; }
.btn--pri:hover { background: linear-gradient(135deg, var(--primary-color), var(--primary-hover)); color: #fff; box-shadow: 0 6px 18px rgba(59,130,246,0.5); transform: translateY(-2px); }
[data-theme="dark"] .btn--link { background: var(--bg-body); }
[data-theme="dark"] .btn--link:hover { background: rgba(96,165,250,0.1); box-shadow: 0 6px 12px rgba(0,0,0,0.4); }

/* ==========================================================
   Header 头部布局与导航
   ========================================================== */
.hd { background: var(--bg-surface); box-shadow: var(--shadow-sm); position: sticky; top: 0; z-index: 300; transition: background 0.3s; }
.hd__in { display: flex; align-items: center; justify-content: space-between; gap: 18px; height: 68px; max-width: 1280px; margin: 0 auto; padding: 0 18px; min-width: 0; }
.logo { flex: 0 0 150px; width: 150px; min-width: 150px; height: 44px; display: flex; align-items: center; overflow: hidden; color: var(--primary-color) !important; transition: var(--transition); }
.logo__link, .logo__media, .logo a { display: inline-flex; align-items: center; width: 150px; max-width: 150px; min-height: 44px; color: var(--primary-color) !important; text-decoration: none !important; }
.logo__text { display: block; max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 1.55rem; line-height: 1; font-weight: 800; letter-spacing: 0; }
.logo img { display: block; width: auto; max-width: 150px; max-height: 42px; height: auto; object-fit: contain; }
.nav { flex: 1 1 auto; min-width: 0; align-self: stretch; display: flex; align-items: center; position: relative; overflow: hidden; }
.nav::before, .nav::after { content: ''; position: absolute; top: 0; bottom: 0; width: 22px; z-index: 2; pointer-events: none; opacity: 0.92; }
.nav::before { left: 0; background: linear-gradient(90deg, var(--bg-surface), rgba(255,255,255,0)); }
.nav::after { right: 0; background: linear-gradient(270deg, var(--bg-surface), rgba(255,255,255,0)); }
[data-theme="dark"] .nav::before { background: linear-gradient(90deg, var(--bg-surface), rgba(31,41,55,0)); }
[data-theme="dark"] .nav::after { background: linear-gradient(270deg, var(--bg-surface), rgba(31,41,55,0)); }
.nav__list { display: flex; align-items: center; gap: 20px; height: 100%; width: 100%; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; scroll-behavior: smooth; cursor: grab; user-select: none; padding: 0 20px; }
.nav__list::-webkit-scrollbar { display: none; }
.nav__list.is-dragging { cursor: grabbing; scroll-behavior: auto; }
.nav__item { flex: 0 0 auto; height: 100%; display: flex; align-items: center; position: relative; }
.nav__item a { color: var(--text-main); font-weight: 650; position: relative; height: 100%; display: inline-flex; align-items: center; padding: 0 2px; font-size: 1rem; transition: var(--transition); white-space: nowrap; }
.nav__item a span { margin-left: 5px; padding: 1px 6px; border-radius: 999px; background: rgba(59,130,246,0.1); color: var(--primary-color); font-size: 0.72rem; line-height: 1.4; font-weight: 700; }
.nav__item a::after { content: ''; position: absolute; bottom: 15px; left: 50%; width: 0; height: 3px; background: var(--primary-color); transition: width 0.26s ease; transform: translateX(-50%); border-radius: 3px; }
.nav__item a:hover, .nav__item.is-active a, .nav__item.hover a { color: var(--primary-color); }
.nav__item a:hover::after, .nav__item.is-active a::after, .nav__item.hover a::after { width: 100%; }
.meta { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; min-width: 0; }
.topsearch { flex: 0 0 198px; width: 198px; max-width: 24vw; }
.topsearch__box { display: flex; align-items: center; width: 100%; height: 38px; background: var(--bg-body); border-radius: 24px; padding: 6px 12px; border: 1px solid var(--border-color); transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease; }
.topsearch__box:focus-within { border-color: var(--primary-color); box-shadow: 0 0 0 3px rgba(59,130,246,0.15); background: var(--bg-surface); }
.topsearch__ipt { flex: 1 1 auto; min-width: 0; border: none; background: transparent; outline: none; color: var(--text-main); padding: 2px 4px; width: 100%; font-size: 0.92rem; transition: color 0.2s ease; }
.topsearch__ipt:focus { width: 100%; }
.topsearch__go { background: transparent; border: none; color: var(--text-muted); cursor: pointer; display: flex; align-items: center; transition: var(--transition); padding: 4px; }
.topsearch__go:hover { color: var(--primary-color); transform: scale(1.1); }
.theme-toggle { background: var(--bg-body); border: 1px solid var(--border-color); color: var(--text-main); cursor: pointer; font-size: 1.1rem; display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; transition: var(--transition); }
.theme-toggle:hover { background: var(--primary-color); color: #fff; border-color: var(--primary-color); transform: rotate(15deg); }
.user, .msgdrop { position: relative; }
.user__sum, .msgdrop__sum { display: flex; align-items: center; gap: 10px; cursor: pointer; padding: 4px 12px 4px 4px; border-radius: 30px; transition: var(--transition); user-select: none; list-style: none; border: 1px solid transparent; }
.user__sum::-webkit-details-marker, .msgdrop__sum::-webkit-details-marker { display: none; }
.user__sum:hover, .msgdrop__sum:hover { background: var(--bg-body); border-color: var(--border-color); }
.user__ava { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; background: var(--border-color); box-shadow: var(--shadow-sm); }
.user__name { font-size: 0.95rem; font-weight: 600; color: var(--text-main); }
.user__menu, .msgdrop__menu { position: absolute; top: calc(100% + 12px); right: 0; background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: var(--radius-md); box-shadow: var(--shadow-hover); min-width: 160px; padding: 8px 0; z-index: 200; animation: dropIn 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards; transform-origin: top right; }
@keyframes dropIn { from { opacity: 0; transform: scale(0.9) translateY(-10px); } to { opacity: 1; transform: scale(1) translateY(0); } }
.user__menu a, .msgdrop__menu a { display: block; padding: 10px 20px; color: var(--text-main); font-size: 0.95rem; font-weight: 500; transition: all 0.2s; display: flex; align-items: center; gap: 8px; }
.user__menu a i, .msgdrop__menu a i { width: 1.1em !important; height: 1.1em !important; opacity: 0.7; }
.user__menu a:hover, .msgdrop__menu a:hover { background: rgba(59,130,246,0.08); color: var(--primary-color); padding-left: 24px; }
.user__menu a:hover i, .msgdrop__menu a:hover i { opacity: 1; color: var(--primary-color); }

.msg-ind { display: inline-flex; align-items: center; position: relative; }
.msg-ind__num { position: absolute; top: -6px; right: -8px; background: #ef4444; color: white; font-size: 0.7rem; padding: 0 5px; border-radius: 10px; font-weight: bold; border: 2px solid var(--bg-surface); box-shadow: 0 2px 4px rgba(239,68,68,0.3); }
.msg-count { float: right; background: #ef4444; color: white; padding: 2px 8px; border-radius: 12px; font-size: 0.75rem; font-weight: bold; }

/* ==========================================================
   移动端 Drawer
   ========================================================== */
input.drawer__chk[type="checkbox"] { display: none !important; opacity: 0 !important; position: absolute !important; left: -9999px !important; z-index: -99 !important; visibility: hidden !important; width: 0 !important; height: 0 !important; }
.drawer__mask { position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 900; opacity: 0; pointer-events: none; transition: opacity 0.4s ease; backdrop-filter: blur(4px); }
.drawer { position: fixed; top: 0; right: -320px; width: 300px; max-width: 85vw; height: 100vh; background: var(--bg-surface); z-index: 1000; transition: right 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); box-shadow: -10px 0 40px rgba(0,0,0,0.1); overflow-y: auto; display: flex; flex-direction: column; border-radius: 24px 0 0 24px; padding-bottom: 24px; }
[data-theme="dark"] .drawer { box-shadow: -10px 0 40px rgba(0,0,0,0.5); border-left: 1px solid var(--border-color); }
.drawer__chk:checked ~ .drawer__mask { opacity: 1; pointer-events: auto; }
.drawer__chk:checked ~ .drawer { right: 0; }
.drawer__btn { display: none; flex-direction: column; justify-content: center; align-items: flex-end; gap: 5px; width: 44px; height: 44px; cursor: pointer; z-index: 1001; padding: 10px; border-radius: 50%; background: var(--bg-body); border: 1px solid transparent; transition: all 0.3s ease; }
.drawer__btn:hover { background: var(--border-color); }
.drawer__btn span { display: block; height: 2px; background: var(--text-main); transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); border-radius: 2px; width: 100%; }
.drawer__btn span:nth-child(2) { width: 65%; } 
.drawer__btn:hover span:nth-child(2) { width: 100%; } 
.drawer__chk:checked ~ .drawer__btn { background: transparent; border-color: transparent; }
.drawer__chk:checked ~ .drawer__btn span { width: 100%; background: var(--primary-color); }
.drawer__chk:checked ~ .drawer__btn span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.drawer__chk:checked ~ .drawer__btn span:nth-child(2) { opacity: 0; transform: translateX(10px); }
.drawer__chk:checked ~ .drawer__btn span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.drawer__head { padding: 32px 24px 20px; background: linear-gradient(180deg, var(--bg-body) 0%, var(--bg-surface) 100%); display: flex; align-items: center; gap: 16px; border-bottom: 1px solid transparent; }
.drawer__who .name { font-weight: 700; font-size: 1.2rem; color: var(--text-main); line-height: 1.2; }
.drawer__who .home { font-size: 0.85rem; color: var(--primary-color); font-weight: 500; }
.drawer__title { padding: 24px 24px 10px; font-size: 0.8rem; color: var(--text-muted); text-transform: uppercase; font-weight: 700; letter-spacing: 1px; }
.drawer__list { margin-bottom: 8px; }
.drawer__list li a, .drawer__msg summary { display: block; margin: 2px 16px; padding: 12px 16px; color: var(--text-main); border-radius: 12px; font-size: 1rem; font-weight: 500; transition: all 0.3s ease; display: flex; align-items: center; gap: 10px; }
.drawer__list li a i, .drawer__msg summary i { width: 1.2em !important; height: 1.2em !important; color: var(--text-muted); }
.drawer__list li a:hover { color: var(--primary-color); background: var(--bg-body); transform: translateX(6px); font-weight: 600; }
.drawer__list li a:hover i { color: var(--primary-color); }
.drawer__list--auth { display: flex; flex-direction: column; gap: 12px; padding: 0 16px; margin-top: 10px; }
.drawer__list--auth li a { margin: 0; border-radius: 30px; text-align: center; font-weight: 700; padding: 14px; font-size: 1.05rem; justify-content: center; }
.drawer__list--auth li:first-child a { background: var(--bg-body); border: 2px solid var(--border-color); color: var(--text-main); box-shadow: var(--shadow-sm); }
.drawer__list--auth li:first-child a:hover { border-color: var(--primary-color); color: var(--primary-color); transform: translateY(-2px); }
.drawer__list--auth li:last-child a { background: linear-gradient(135deg, var(--primary-hover), var(--primary-color)); color: #fff; box-shadow: 0 6px 16px rgba(59,130,246,0.35); border: none; }
.drawer__list--auth li:last-child a:hover { box-shadow: 0 8px 20px rgba(59,130,246,0.5); transform: translateY(-2px); }

.drawer__navitem { margin: 2px 16px; }
.drawer__navrow { display: flex; align-items: center; gap: 6px; border-radius: 12px; transition: background 0.25s ease; }
.drawer__navrow:hover { background: var(--bg-body); }
.drawer__list .drawer__navlink { flex: 1 1 auto; min-width: 0; margin: 0; padding: 12px 12px 12px 16px; border-radius: 12px; }
.drawer__list .drawer__navlink:hover { transform: none; background: transparent; }
.drawer__subtoggle { display: none; flex: 0 0 34px; width: 34px; height: 34px; border: none; border-radius: 10px; background: transparent; color: var(--text-muted); cursor: pointer; align-items: center; justify-content: center; transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease; }
.drawer__subtoggle::before { content: ''; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform 0.25s ease; }
.drawer__navitem.has-subnav .drawer__subtoggle { display: inline-flex; }
.drawer__subtoggle:hover { background: rgba(59,130,246,0.1); color: var(--primary-color); }
.drawer__navitem.is-open .drawer__subtoggle { color: var(--primary-color); }
.drawer__navitem.is-open .drawer__subtoggle::before { transform: translateY(2px) rotate(225deg); }
.drawer__sublist { max-height: 0; overflow: hidden; opacity: 0; padding: 0 0 0 12px; transition: max-height 0.32s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.22s ease, padding 0.22s ease; }
.drawer__sublist:empty { display: none; }
.drawer__navitem.is-open .drawer__sublist { max-height: 420px; opacity: 1; padding-top: 4px; padding-bottom: 8px; }
.drawer__sublist li { margin: 0; padding: 0; }
.drawer__sublist li a, .drawer__list .drawer__sublist li a { margin: 1px 0 1px 14px; padding: 8px 12px; border-radius: 10px; color: var(--text-muted); font-size: 0.92rem; font-weight: 500; }
.drawer__sublist li a:hover, .drawer__list .drawer__sublist li a:hover { color: var(--primary-color); background: rgba(59,130,246,0.08); transform: translateX(4px); }

/* 移动端专属控制图标 */
.m-srch-btn { display: none !important; color: var(--text-main); padding: 6px; font-size: 1.25rem; transition: var(--transition); background: transparent; border: none; cursor: pointer; align-items: center; justify-content: center; text-decoration: none; }
.m-theme-btn { display: none !important; color: var(--text-main); width: 38px; height: 38px; border-radius: 50%; background: var(--bg-body); border: none; cursor: pointer; align-items: center; justify-content: center; text-decoration: none; font-size: 1.15rem; transition: var(--transition); margin: 0 4px; }
.m-srch-btn:hover, .m-theme-btn:hover { color: var(--primary-color); }

/* ==========================================================
   全新两列主布局框架
   ========================================================== */
.main-layout, .thread-layout { display: flex; flex-wrap: wrap; gap: 24px; align-items: flex-start; justify-content: space-between; margin-bottom: 40px; width: 100%; box-sizing: border-box; }
.main-content, .thread-main { flex: 1 1 0%; min-width: 0; max-width: calc(100% - 344px); } 
.sidebar, .thread-sidebar { flex: 0 0 320px; width: 320px; max-width: 100%; }

/* ==========================================================
   模块与小工具通用样式 (DIY, Widgets)
   ========================================================== */
.diy-module, .widget, .footer-module, .forum-group { background: var(--bg-surface); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); margin-bottom: 24px; border: 1px solid var(--border-color); overflow: hidden; }
.diy-module-hd, .footer-module-hd { padding: 16px 20px; border-bottom: 1px solid var(--border-color); background: rgba(0,0,0,0.02); display: flex; align-items: center; gap: 10px; }
[data-theme="dark"] .diy-module-hd, [data-theme="dark"] .footer-module-hd { background: rgba(255,255,255,0.02); }
.diy-module-hd h3, .footer-module-hd h3 { font-size: 1.1rem; font-weight: 700; color: var(--text-main); margin: 0; }
.diy-module-hd i, .widget-title i { color: var(--text-muted); }

.diy-module-bd, .footer-module-bd, .widget-content { padding: 20px; }
.widget { padding: 0; } 
.widget-title { padding: 20px 20px 12px; font-size: 1.05rem; font-weight: 700; border-bottom: 2px solid var(--bg-body); color: var(--text-main); display: flex; align-items: center; gap: 8px; margin: 0; }

.widget > ul { padding: 12px 16px; margin: 0; list-style: none; display: flex; flex-direction: column; gap: 4px; }
.widget > ul li { display: flex; justify-content: space-between; align-items: center; padding: 6px 0; border: none; font-size: 0.9rem; color: var(--text-muted); }
.widget > ul li strong { color: var(--text-main); font-weight: 600; font-size: 0.95rem; }
.widget > ul li a { color: var(--primary-color); font-weight: 600; font-size: 0.95rem; transition: var(--transition); }
.widget > ul li a:hover { color: var(--primary-hover); text-decoration: underline; }

.footer-module-bd { color: var(--text-muted); font-size: 0.9rem; line-height: 1.6; }
.footer-module-bd ul { display: flex; flex-wrap: wrap; gap: 16px; }
.footer-module-bd li { display: flex; align-items: center; gap: 6px; }
.footer-module-bd a { color: var(--text-main); transition: var(--transition); }
.footer-module-bd a:hover { color: var(--primary-color); }

/* ==========================================================
   全局原生面包屑导航美化 (#pt)
   ========================================================== */
/* BY_QIYE ADD 2026-05-20: keep breadcrumbs as lightweight text links across fallback pages. */
#pt,
.wp.pt {
    width: 100%;
    max-width: 1200px;
    box-sizing: border-box;
    margin: 12px auto 16px !important;
    padding: 12px 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: var(--text-muted, #6b7280);
    font-size: 0.95rem;
}
#pt .z,
.wp.pt .z {
    display: flex;
    align-items: center;
    min-height: 24px;
    padding: 0;
    margin: 0;
    background: transparent;
    border: 0;
    color: var(--text-muted, #6b7280);
    flex-wrap: wrap;
    gap: 6px;
}
#pt.bm,
#pt.bm.cl,
.wp.pt.bm {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
#pt a, .wp.pt .z a { 
    color: var(--primary-color, #3b82f6); 
    font-weight: 500; 
    text-decoration: none; 
    transition: color 0.3s;
}
#pt a:hover, .wp.pt .z a:hover { 
    text-decoration: underline; 
    color: var(--primary-hover, #2563eb); 
}
#pt em, .wp.pt .z em { 
    margin: 0 2px; 
    font-style: normal; 
    color: var(--text-muted, #6b7280); 
    font-family: simsun, sans-serif; 
    font-size: 0.9rem; 
}
#pt .nvhm,
.wp.pt .z .nvhm {
    display: inline-flex;
    align-items: center;
    width: auto;
    height: auto;
    min-width: 0;
    padding: 0;
    background: none !important;
    overflow: visible !important;
    text-indent: 0 !important;
    color: var(--primary-color, #3b82f6);
    font-size: 0.95rem;
}

/* ==========================================================
   全新高颜值翻页组件 (Pagination - 居中显示)
   ========================================================== */
.pgs { display: flex; justify-content: center; align-items: center; margin-top: 24px; margin-bottom: 24px; width: 100%; }
.pg { display: flex; justify-content: center; align-items: center; gap: 8px; flex-wrap: wrap; }
.pg a, .pg strong, .pg label, .pgb a { display: inline-flex; align-items: center; justify-content: center; height: 36px; min-width: 36px; padding: 0 12px; border-radius: var(--radius-sm); border: 1px solid var(--border-color); background: var(--bg-surface); color: var(--text-muted); font-weight: 500; transition: var(--transition); font-size: 0.95rem; box-sizing: border-box; }
.pg strong { background: var(--primary-color); color: #fff; border-color: var(--primary-color); }
.pg a:hover, .pgb a:hover { border-color: var(--primary-color); color: var(--primary-color); background: var(--bg-body); }
.pg kbd { display: none; }
.pg label { border: none; background: transparent; padding: 0; color: var(--text-muted); margin-left: 8px; }
.pg input { width: 44px; height: 36px; border: 1px solid var(--border-color); border-radius: var(--radius-sm); text-align: center; margin: 0 4px; outline: none; font-size: 0.95rem; color: var(--text-main); transition: var(--transition); }
.pg input:focus { border-color: var(--primary-color); box-shadow: 0 0 0 2px rgba(59,130,246,0.1); }

/* BY_QIYE ADD 2026-05-20: lightweight fallback base for official/mobile-derived pages. */
#nv_forum:not(.pg_index):not(.pg_forumdisplay):not(.pg_viewthread):not(.pg_guide) #ct,
#nv_portal #ct,
#nv_group #ct,
#nv_ranklist #ct,
#nv_misc #ct {
    width: 100%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

#nv_forum:not(.pg_index):not(.pg_forumdisplay):not(.pg_viewthread):not(.pg_guide) #ct > .bm,
#nv_misc:not(.pg_ranklist) #ct > .bm {
    margin-bottom: 18px;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    background: var(--bg-surface);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
}

#nv_forum:not(.pg_index):not(.pg_forumdisplay):not(.pg_viewthread):not(.pg_guide) #ct > .bm .bm_h,
#nv_misc:not(.pg_ranklist) #ct > .bm .bm_h {
    padding: 14px 18px;
    border-bottom: 1px solid var(--border-color);
    background: var(--bg-body);
}

#nv_forum:not(.pg_index):not(.pg_forumdisplay):not(.pg_viewthread):not(.pg_guide) #ct > .bm .bm_c,
#nv_misc:not(.pg_ranklist) #ct > .bm .bm_c {
    padding: 18px;
}

#nv_forum:not(.pg_index):not(.pg_forumdisplay):not(.pg_viewthread):not(.pg_guide) .tfm,
#nv_misc:not(.pg_ranklist) .tfm {
    width: 100%;
    max-width: 100%;
}

#nv_forum:not(.pg_index):not(.pg_forumdisplay):not(.pg_viewthread):not(.pg_guide) .tfm .px,
#nv_forum:not(.pg_index):not(.pg_forumdisplay):not(.pg_viewthread):not(.pg_guide) .tfm .pt,
#nv_forum:not(.pg_index):not(.pg_forumdisplay):not(.pg_viewthread):not(.pg_guide) .tfm .ps,
#nv_misc:not(.pg_ranklist) .tfm .px,
#nv_misc:not(.pg_ranklist) .tfm .pt,
#nv_misc:not(.pg_ranklist) .tfm .ps {
    max-width: 100%;
    box-sizing: border-box;
}

#nv_forum:not(.pg_index):not(.pg_forumdisplay):not(.pg_viewthread):not(.pg_guide) img,
#nv_portal img,
#nv_group img,
#nv_ranklist img,
#nv_misc img {
    max-width: 100%;
    height: auto;
}

.by-table-scroll {
    width: 100%;
    overflow-x: auto;
}

.by-data-table {
    width: 100%;
    min-width: 680px;
    border-collapse: collapse;
}

.by-data-table th,
.by-data-table td {
    padding: 13px 14px;
    border-bottom: 1px solid var(--border-color);
    color: var(--text-main);
    text-align: left;
    vertical-align: top;
}

.by-data-table th {
    background: var(--bg-body);
    font-weight: 700;
    white-space: nowrap;
}

.by-data-table tr.alt td {
    background: rgba(148,163,184,0.06);
}

@media (max-width: 768px) {
    #nv_forum:not(.pg_index):not(.pg_forumdisplay):not(.pg_viewthread):not(.pg_guide) #ct,
    #nv_portal #ct,
    #nv_group #ct,
    #nv_ranklist #ct,
    #nv_misc #ct {
        padding-left: 16px;
        padding-right: 16px;
    }

    #nv_forum:not(.pg_index):not(.pg_forumdisplay):not(.pg_viewthread):not(.pg_guide) .tfm,
    #nv_forum:not(.pg_index):not(.pg_forumdisplay):not(.pg_viewthread):not(.pg_guide) .tfm tbody,
    #nv_forum:not(.pg_index):not(.pg_forumdisplay):not(.pg_viewthread):not(.pg_guide) .tfm tr,
    #nv_forum:not(.pg_index):not(.pg_forumdisplay):not(.pg_viewthread):not(.pg_guide) .tfm th,
    #nv_forum:not(.pg_index):not(.pg_forumdisplay):not(.pg_viewthread):not(.pg_guide) .tfm td,
    #nv_misc:not(.pg_ranklist) .tfm,
    #nv_misc:not(.pg_ranklist) .tfm tbody,
    #nv_misc:not(.pg_ranklist) .tfm tr,
    #nv_misc:not(.pg_ranklist) .tfm th,
    #nv_misc:not(.pg_ranklist) .tfm td {
        display: block;
        width: 100% !important;
        box-sizing: border-box;
    }

    #nv_forum:not(.pg_index):not(.pg_forumdisplay):not(.pg_viewthread):not(.pg_guide) .tfm th,
    #nv_misc:not(.pg_ranklist) .tfm th {
        padding: 0 0 8px;
        text-align: left;
        white-space: normal;
    }
}

/* ==========================================================
   个人中心 (User Center / 消息 / 设置) 整体布局与侧边栏现代化重构
   ========================================================== */
.ct2_a, .ct2 { display: flex !important; gap: 24px; align-items: flex-start; margin-top: 24px; margin-bottom: 40px; width: 100%; box-sizing: border-box; }

/* 左侧栏：重置原生浮动，改用弹性盒子 */
.ct2_a .appl, .ct2 .appl { flex: 0 0 240px; width: 240px; background: var(--bg-surface); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); border: 1px solid var(--border-color); padding: 20px 0; display: block !important; float: none !important; }

/* 侧边栏菜单美化 */
.ct2_a .appl .tbn { margin: 0; padding: 0; }
.ct2_a .appl .tbn h2 { font-size: 1.1rem; font-weight: 700; color: var(--text-main); padding: 0 20px 12px; border-bottom: 1px dashed var(--border-color); margin-bottom: 12px; margin-top: 0; }
.ct2_a .appl .tbn ul { list-style: none; padding: 0; margin: 0; }
.ct2_a .appl .tbn li { margin: 4px 12px; padding: 0; border: none; }
.ct2_a .appl .tbn li a { display: block; padding: 10px 16px; color: var(--text-main); font-weight: 500; border-radius: var(--radius-sm); transition: all 0.3s; display: flex; align-items: center; gap: 8px; }
.ct2_a .appl .tbn li a i { width: 1.1em !important; height: 1.1em !important; opacity: 0.7; }
.ct2_a .appl .tbn li.a a, .ct2_a .appl .tbn li a:hover { background: rgba(59,130,246,0.1); color: var(--primary-color); font-weight: 600; text-decoration: none; }
.ct2_a .appl .tbn li.a a i, .ct2_a .appl .tbn li a:hover i { opacity: 1; color: var(--primary-color); }

/* 右侧主内容区：重置原生浮动，卡片化 */
.ct2_a .mn, .ct2 .mn { flex: 1; min-width: 0; background: var(--bg-surface); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); border: 1px solid var(--border-color); padding: 32px 40px; float: none !important; }
.ct2_a .mn .bm, .ct2_a .mn .bm_c { border: none !important; background: transparent !important; padding: 0 !important; box-shadow: none !important; margin: 0 !important; }

/* ==========================================================
   Discuz 原生全局 AJAX 弹窗及原生下拉悬浮菜单 (.p_pop) 美化
   ========================================================== */
.fwinmask { z-index: 2000 !important; }

/* 暴力重写所有弹出菜单 (.p_pop / #filter_special_menu) */
.p_pop, #filter_special_menu { 
    background-color: var(--bg-surface) !important; 
    background-image: none !important;
    border: 1px solid var(--border-color) !important; 
    border-radius: var(--radius-md) !important; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.12) !important; 
    padding: 8px 0 !important; 
    min-width: 140px; 
    z-index: 1000 !important; 
    outline: none !important;
    transform-origin: top center;
    animation: byNavPop 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}
.p_pop ul, #filter_special_menu ul { list-style: none !important; margin: 0 !important; padding: 0 !important; background: transparent !important; border: none !important; }
.p_pop li, #filter_special_menu li { border: none !important; margin: 0 !important; padding: 0 !important; background: transparent !important; }
.p_pop a, #filter_special_menu a { 
    display: block !important; 
    padding: 10px 24px !important; 
    color: var(--text-main) !important; 
    font-size: 0.95rem !important; 
    font-weight: 500 !important; 
    transition: all 0.2s !important; 
    text-decoration: none !important; 
    white-space: nowrap !important; 
    border-bottom: none !important; 
    background: transparent !important;
    outline: none !important;
}
.p_pop a:hover, .p_pop a.a, #filter_special_menu a:hover { 
    background: rgba(59,130,246,0.08) !important; 
    color: var(--primary-color) !important; 
    padding-left: 28px !important; 
    outline: none !important;
}

@keyframes byNavPop {
    from { opacity: 0; transform: translateY(-8px) scale(0.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.by-nav-submenus { position: absolute; left: 0; top: 0; width: 0; height: 0; overflow: hidden; pointer-events: none; }
.by-nav-submenus ul { pointer-events: none; visibility: hidden !important; width: auto !important; min-width: 180px; max-width: min(760px, calc(100vw - 32px)); margin: 0; padding: 10px; background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: var(--radius-md); box-shadow: var(--shadow-hover); animation: byNavPop 0.24s cubic-bezier(0.16, 1, 0.3, 1); }
.by-nav-submenus li { display: inline-flex; margin: 2px; }
.by-nav-submenus a { display: inline-flex; align-items: center; padding: 8px 12px; border-radius: var(--radius-sm); color: var(--text-main); font-size: 0.94rem; font-weight: 600; white-space: nowrap; }
.by-nav-submenus a:hover, .by-nav-submenus li.a a { background: rgba(59,130,246,0.08); color: var(--primary-color); text-decoration: none; }

.by-nav-flyout { position: fixed; left: 0; top: 0; display: none; min-width: 150px; max-width: min(420px, calc(100vw - 24px)); padding: 8px; background: var(--bg-surface); border: 1px solid var(--border-color); border-radius: var(--radius-md); box-shadow: var(--shadow-hover); z-index: 1200; transform-origin: top center; }
.by-nav-flyout.is-open { display: block; animation: byNavPop 0.22s cubic-bezier(0.16, 1, 0.3, 1); }
.by-nav-flyout ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.by-nav-flyout li { display: block; width: auto !important; margin: 0; padding: 0; }
.by-nav-flyout a { display: flex; align-items: center; min-height: 36px; padding: 8px 16px; border-radius: var(--radius-sm); color: var(--text-main); font-size: 0.95rem; font-weight: 600; white-space: nowrap; text-decoration: none; transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease; }
.by-nav-flyout a:hover, .by-nav-flyout li.a a { background: rgba(59,130,246,0.08); color: var(--primary-color); transform: translateX(3px); }
.hd__in > .p_pop[id^="mn_"], .hd__in > .p_pop[id$="_menu"]:not(#plugin_menu) { visibility: hidden !important; pointer-events: none !important; }

.fwin { background: var(--bg-surface); border-radius: var(--radius-md); box-shadow: var(--shadow-hover); overflow: hidden; border: 1px solid var(--border-color); }
.fwin .flb { padding: 12px 20px; border-bottom: 1px solid var(--border-color); display: flex; justify-content: space-between; align-items: center; background: rgba(0,0,0,0.02); }
[data-theme="dark"] .fwin .flb { background: rgba(255,255,255,0.02); }
.fwin .flb em { font-size: 1.1rem; font-weight: 700; color: var(--text-main); font-style: normal; }
.fwin .flb span a { color: var(--text-muted); font-size: 1.2rem; text-decoration: none; }
.fwin .flb span a:hover { color: #ef4444; }
.fwin .o { padding: 10px 20px !important; background: var(--bg-body); border-top: 1px solid var(--border-color); text-align: right; }
.fwin .o button, .fwin .o .pn { padding: 6px 18px; background: var(--primary-color); color: #fff; border: none; border-radius: var(--radius-sm); cursor: pointer; font-weight: 500; }
.fwin .o button:hover, .fwin .o .pn:hover { background: var(--primary-hover); }
.pc_inner { padding: 16px 24px; text-align: center; font-size: 1.05rem; color: var(--primary-color); background: var(--bg-surface); border-radius: var(--radius-md); box-shadow: var(--shadow-hover); font-weight: 600; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--border-color); }
.pc_inner i { font-style: normal; }

/* 彻底清理 Discuz 弹窗 (.fwin) 的 3x3 古老边框残留 */
.fwin table { border-collapse: collapse; margin: 0; padding: 0; width: 100%; }
.fwin td.m_tl, .fwin td.m_tm, .fwin td.m_tr,
.fwin td.m_l,  .fwin td.m_r,
.fwin td.m_bl, .fwin td.m_bm, .fwin td.m_br { display: none !important; }
.fwin td.m_c { display: block !important; padding: 0 !important; background: var(--bg-surface); }

/* ==========================================================
   全局弹窗表单通用强化 (发新帖、回复、私信、等通用表单)
   ========================================================== */
.fwin { box-sizing: border-box; }
.fwin .c { padding: 16px 20px !important; box-sizing: border-box !important; max-width: 100%; overflow-x: hidden; color: var(--text-main); font-size: 0.95rem; }
.fwin .p_c { padding: 0 !important; } 
.fwin .pbt { margin-bottom: 10px !important; width: 100%; box-sizing: border-box; }

.fwin .quote { margin: 0 0 10px 0 !important; padding: 8px 12px !important; font-size: 0.85rem !important; line-height: 1.4 !important; max-height: 56px !important; overflow-y: auto !important; border-radius: 4px !important; }
.fwin .quote::-webkit-scrollbar { width: 4px; }
.fwin .quote::-webkit-scrollbar-thumb { background: var(--border-color); border-radius: 4px; }

.fwin .pbt .px, .fwin .pmfm .px, .fwin .tedt .pt, .fwin input[type="text"], .fwin textarea { width: 100% !important; padding: 10px 14px !important; border-radius: var(--radius-sm) !important; background: var(--bg-body) !important; border: 2px solid transparent !important; color: var(--text-main) !important; font-size: 1rem !important; box-sizing: border-box !important; transition: all 0.3s !important; box-shadow: none !important; margin: 0; outline: none !important; }
.fwin .pbt .px:focus, .fwin .pmfm .px:focus, .fwin .tedt .pt:focus, .fwin input[type="text"]:focus, .fwin textarea:focus { border-color: var(--primary-color) !important; background: var(--bg-surface) !important; box-shadow: 0 4px 12px rgba(59,130,246,0.15) !important; }

.fwin .tedt { width: 100% !important; border: 1px solid var(--border-color); border-radius: var(--radius-sm); overflow: hidden; background: var(--bg-body); transition: all 0.3s; margin-bottom: 10px !important; box-sizing: border-box !important; }
.fwin .tedt:focus-within { border-color: var(--primary-color); box-shadow: 0 0 0 2px rgba(59,130,246,0.1); background: var(--bg-surface); }
.fwin .tedt .bar, .fwin .fpd, .fwin .pm_tac { display: none !important; } 
.fwin .tedt .area { padding: 0; background: transparent; }
.fwin .tedt .pt { min-height: 80px !important; height: 80px !important; border: none !important; background: transparent !important; resize: vertical; box-shadow: none !important; padding: 10px !important;}

/* 私信弹窗专属美化 */
.fwin .pmfm { padding: 0 !important; width: 100% !important; box-sizing: border-box !important; } 
.fwin .pmfm .px { margin-bottom: 12px; }
.fwin .pmfm .tedt { margin-bottom: 12px !important; }
.fwin .pmfm .pns { display: flex; justify-content: flex-end; align-items: center; margin-top: 4px; }
.fwin .pmfm .pns button.pn { padding: 10px 28px !important; border-radius: 30px !important; background: linear-gradient(135deg, var(--primary-hover), var(--primary-color)) !important; color: #fff !important; border: none !important; font-weight: bold !important; cursor: pointer !important; transition: all 0.3s !important; height: auto !important; box-shadow: 0 4px 12px rgba(59,130,246,0.2) !important; }
.fwin .pmfm .pns button.pn:hover { background: linear-gradient(135deg, var(--primary-color), var(--primary-hover)) !important; transform: translateY(-2px) !important; box-shadow: 0 6px 16px rgba(59,130,246,0.4) !important; }
.fwin .pmfm .pns .pma { margin-right: 16px; color: var(--text-muted); display: flex; align-items: center; gap: 8px; }
.fwin .pmfm .pns .pma label { cursor: pointer; display: flex; align-items: center; gap: 4px; }
.fwin .pmfm .pns .pma input.pc { width: 16px; height: 16px; accent-color: var(--primary-color); }

.fwin .pmb { max-height: 250px; overflow-y: auto; padding: 12px; background: var(--bg-body); border-radius: var(--radius-sm); margin-bottom: 12px; }
.fwin .pmb li { margin-bottom: 16px; clear: both; display: flex; flex-direction: column; }
.fwin .pmb .pmt { font-size: 0.8rem; color: var(--text-muted); margin-bottom: 6px; text-align: left; }
.fwin .pmb .pmd { background: var(--bg-surface); padding: 10px 14px; border-radius: 4px 16px 16px 16px; display: inline-block; max-width: 85%; word-break: break-all; box-shadow: var(--shadow-sm); border: 1px solid var(--border-color); align-self: flex-start; }
.fwin .pmb li.pmm .pmt { text-align: right; }
.fwin .pmb li.pmm .pmd { align-self: flex-end; background: var(--primary-color); color: #fff; border-radius: 16px 4px 16px 16px; border-color: var(--primary-color); }
.fwin .pmb li.pmm .pmd a { color: #fff; text-decoration: underline; }
.fwin .pmb::-webkit-scrollbar { width: 6px; }
.fwin .pmb::-webkit-scrollbar-thumb { background: var(--border-color); border-radius: 6px; }

/* 底部管理栏半遮挡和CLS偏移彻底修复 (全局通用) */
#mdly { 
    position: fixed !important; 
    bottom: 24px !important; 
    top: auto !important; 
    left: 0 !important; 
    right: 0 !important; 
    margin: 0 auto !important; 
    width: max-content !important; 
    max-width: 90vw !important; 
    background: var(--bg-surface, #fff) !important; 
    padding: 12px 24px !important; 
    border-radius: 30px !important; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.15) !important; 
    border: 1px solid var(--border-color, #e5e7eb) !important; 
    z-index: 100000 !important; 
    transform: none !important;
    height: auto !important;
    min-height: 0 !important;
}
#mdly .fwin { height: auto !important; }
#mdly table, #mdly tr, #mdly td { background: transparent !important; border: none !important; padding: 0 !important; height: auto !important; }
#mdly .c { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin:0; }
#mdly .mdly_title { font-size: 1rem; font-weight: 700; margin: 0 10px 0 0; color: var(--text-main, #111827); display:inline-block; }
#mdly .c a { padding: 6px 16px; background: var(--primary-color, #3b82f6); color: #fff; border-radius: 20px; text-decoration: none; font-weight: 500; transition: transform 0.2s; }
#mdly .c a:hover { background: var(--primary-hover, #2563eb); transform: translateY(-2px); box-shadow: 0 4px 10px rgba(59,130,246,0.3); text-decoration: none;}
#mdly .cp { display: none !important; }

/* ==========================================================
   发新帖快捷导航弹窗美化 (#fwin_nav)
   ========================================================== */
#fwin_nav .c { padding: 24px !important; width: 600px !important; max-width: 100vw !important; box-sizing: border-box; }
#fwin_nav p.cl { display: flex; align-items: center; justify-content: space-between; flex-direction: row-reverse; margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px dashed var(--border-color); }
#fwin_nav #postbtn { padding: 10px 28px; border-radius: 30px; font-weight: 700; border: none; cursor: pointer; transition: var(--transition); line-height: normal; font-size: 1rem; }
#fwin_nav #postbtn.xg1 { background: var(--bg-body) !important; color: var(--text-muted) !important; cursor: not-allowed; box-shadow: none !important; }
#fwin_nav #postbtn.pnc { background: linear-gradient(135deg, var(--primary-hover), var(--primary-color)) !important; color: #fff !important; box-shadow: 0 4px 12px rgba(59,130,246,0.3) !important; }
#fwin_nav #postbtn.pnc:hover { background: linear-gradient(135deg, var(--primary-color), var(--primary-hover)) !important; transform: translateY(-2px); box-shadow: 0 6px 16px rgba(59,130,246,0.4) !important; }
#fwin_nav .pbnv { font-size: 1.05rem; color: var(--text-main); font-weight: 600; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
#fwin_nav .pbnv a { color: var(--primary-color); font-weight: 600; text-decoration: none; padding: 4px 10px; background: rgba(59,130,246,0.1); border-radius: 6px; transition: all 0.2s; }
#fwin_nav .pbnv a:hover { background: var(--primary-color); color: #fff; text-decoration: none; }

#fwin_nav .pbl { display: flex; gap: 16px; margin: 0; padding: 0; min-height: 240px; }
#fwin_nav .pbl > li { flex: 1; min-width: 0; list-style: none; border-right: 1px solid var(--border-color); padding-right: 16px; max-height: 350px; overflow-y: auto; }
#fwin_nav .pbl > li:last-child { border-right: none; padding-right: 0; }
#fwin_nav .pbl::-webkit-scrollbar { width: 4px; }
#fwin_nav .pbl::-webkit-scrollbar-thumb { background: var(--border-color); border-radius: 4px; }
#fwin_nav .pbl > li > p { margin-bottom: 8px; }
#fwin_nav .pbsb { display: block; padding: 10px 14px; border-radius: var(--radius-sm); color: var(--text-main); font-size: 0.95rem; transition: all 0.2s; text-decoration: none; border: 1px solid transparent; }
#fwin_nav .pbsb:hover { background: rgba(59,130,246,0.08); color: var(--primary-color); border-color: rgba(59,130,246,0.15); }
#fwin_nav .pbls .pbsb { background: var(--primary-color) !important; color: #fff !important; font-weight: 600; box-shadow: 0 4px 10px rgba(59,130,246,0.3); border-color: transparent !important; }
#fwin_nav .pbls .pbsb:hover { background: var(--primary-hover) !important; color: #fff !important; transform: translateY(-1px); }

/* ==========================================================
    全局系统提示页面 (showmessage) 脱离 FontAwesome 重构
   ========================================================== */
#ct .nfl .f_c.altw { background: var(--bg-surface, #ffffff); border-radius: var(--radius-md, 12px); box-shadow: var(--shadow-sm, 0 4px 16px rgba(0,0,0,0.05)); border: 1px solid var(--border-color, #e5e7eb); padding: 40px 32px; margin: 60px auto; max-width: 600px; text-align: center; }
#ct .nfl .f_c.altw #messagetext { border: none !important; background: none !important; padding: 0 !important; margin: 0 !important; }
#ct .nfl .f_c.altw #messagetext p { font-size: 1.1rem; color: var(--text-main, #1f2937); line-height: 1.8; margin-bottom: 24px; }

/* 使用超清 SVG 遮罩替换原有的 FontAwesome 字符 */
#ct .nfl .f_c.altw #messagetext.alert_info::before, 
#ct .nfl .f_c.altw #messagetext.alert_error::before, 
#ct .nfl .f_c.altw #messagetext.alert_right::before { 
    content: ''; 
    display: block; 
    width: 64px; 
    height: 64px; 
    margin: 0 auto 24px;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}
#ct .nfl .f_c.altw #messagetext.alert_info::before { 
    background-color: var(--primary-color, #3b82f6); 
    -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='16' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='16' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'/%3E%3C/svg%3E");
}
#ct .nfl .f_c.altw #messagetext.alert_error::before { 
    background-color: #ef4444; 
    -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='15' y1='9' x2='9' y2='15'/%3E%3Cline x1='9' y1='9' x2='15' y2='15'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='15' y1='9' x2='9' y2='15'/%3E%3Cline x1='9' y1='9' x2='15' y2='15'/%3E%3C/svg%3E");
}
#ct .nfl .f_c.altw #messagetext.alert_right::before { 
    background-color: #10b981; 
    -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E");
}
#ct .nfl .f_c.altw #messagetext .alert_btnleft { text-align: center; margin-top: 32px; }
#ct .nfl .f_c.altw #messagetext .alert_btnleft a { display: inline-block; padding: 10px 32px; background: linear-gradient(135deg, var(--primary-hover, #2563eb), var(--primary-color, #3b82f6)); color: #fff !important; border-radius: 30px; font-weight: 600; font-size: 1rem; text-decoration: none !important; box-shadow: 0 4px 12px rgba(59,130,246,0.3); transition: all 0.3s; }
#ct .nfl .f_c.altw #messagetext .alert_btnleft a:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(59,130,246,0.4); }

/* ==========================================================
   全局满铺底部布局
   ========================================================== */
.by-footer { width: 100%; background: var(--bg-surface, #ffffff); border-top: 1px solid var(--border-color, #e5e7eb); padding: 32px 0; margin-top: 50px; clear: both; }
[data-theme="dark"] .by-footer { background: var(--bg-surface, #1f2937); }
.by-footer-inner { max-width: 1200px; margin: 0 auto; padding: 0 16px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px; }
.by-footer-left, .by-footer-right { color: var(--text-muted, #6b7280); font-size: 0.9rem; line-height: 1.8; }
.by-footer-left p, .by-footer-right p { margin-bottom: 4px; }
.by-footer-left p:last-child, .by-footer-right p:last-child { margin-bottom: 0; }
.by-footer-left a, .by-footer-right a { color: var(--primary-color, #3b82f6); font-weight: 500; transition: color 0.3s; text-decoration: none; }
.by-footer-left a:hover, .by-footer-right a:hover { color: var(--primary-hover, #2563eb); text-decoration: underline; }
.by-footer-right { text-align: right; }
.by-footer .pipe { margin: 0 10px; color: var(--border-color, #e5e7eb); }

/* 悬浮菜单全局样式 */
#scrolltop { display: none !important; opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }
.by-float-tools { position: fixed; right: 24px; bottom: 40px; display: flex; flex-direction: column; gap: 12px; z-index: 9999; pointer-events: none; }
.by-tool-item { width: 46px; height: 46px; border-radius: 50%; background: rgba(255, 255, 255, 0.75); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); box-shadow: 0 4px 16px rgba(0,0,0,0.12); display: flex; align-items: center; justify-content: center; color: var(--text-muted, #6b7280); font-size: 1.15rem; cursor: pointer; pointer-events: auto; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); border: 1px solid rgba(229, 231, 235, 0.5); position: relative; text-decoration: none !important; }
[data-theme="dark"] .by-tool-item { background: rgba(31, 41, 55, 0.75); border-color: rgba(55, 65, 81, 0.5); box-shadow: 0 4px 16px rgba(0,0,0,0.5); }
.by-tool-item:hover { background: var(--bg-surface, #ffffff); color: var(--primary-color, #3b82f6); transform: translateY(-4px); box-shadow: 0 8px 24px rgba(59,130,246,0.3); border-color: var(--primary-color, #3b82f6); }
[data-theme="dark"] .by-tool-item:hover { background: var(--bg-surface, #1f2937); }

/* 帮助气泡 */
.by-help-popup { position: absolute; right: calc(100% + 16px); bottom: 50%; transform: translateY(50%) translateX(20px); background: var(--bg-surface, #ffffff); padding: 16px 24px; border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,0.15); border: 1px solid var(--border-color, #e5e7eb); width: max-content; opacity: 0; visibility: hidden; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); pointer-events: none; }
[data-theme="dark"] .by-help-popup { box-shadow: 0 10px 30px rgba(0,0,0,0.5); }
.by-help-popup::after { content: ''; position: absolute; right: -6px; top: 50%; transform: translateY(-50%) rotate(-45deg); width: 10px; height: 10px; background: var(--bg-surface, #ffffff); border-right: 1px solid var(--border-color, #e5e7eb); border-bottom: 1px solid var(--border-color, #e5e7eb); }
.by-help-tool.show .by-help-popup { opacity: 1; visibility: visible; transform: translateY(50%) translateX(0); pointer-events: auto; }
.by-help-popup p { margin: 0; padding: 10px 0; font-size: 1rem; color: var(--text-main, #111827); font-weight: 500; display: flex; align-items: center; justify-content: flex-start; }
.by-help-popup p:first-child { border-bottom: 1px dashed var(--border-color, #e5e7eb); }
.by-help-guest { color: #ef4444 !important; border: none !important; font-weight: bold !important; padding: 4px 0 !important; }
.by-help-guest i { color: #ef4444 !important; margin-right: 8px; }

/* 滚动按钮 */
.by-scroll-btn { opacity: 1; visibility: visible; transform: translateY(0) scale(1); transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); }
.by-scroll-btn.is-hidden { opacity: 0; visibility: hidden; transform: translateY(15px) scale(0.8); pointer-events: none; }
.by-scroll-btn:hover { transform: translateY(-4px) scale(1.05); }
.by-scroll-btn.is-hidden:hover { transform: translateY(15px) scale(0.8); }

/* ==========================================================
   全局响应式控制 (完整保留)
   ========================================================== */
@media (max-width: 1200px) {
    .thread-container.is-grid { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 1080px) and (min-width: 900px) {
    .nav { display: flex !important; }
    .nav__list { gap: 18px; padding: 0 16px; } 
    .nav__item a { font-size: 1rem; }
    .topsearch { flex: 0 0 38px; width: 38px; max-width: 38px; }
    .topsearch__ipt { display: none !important; } 
    .topsearch__box { padding: 6px; background: transparent; border: none; box-shadow: none !important; border-radius: 50%; width: 38px; height: 38px; justify-content: center; }
    .topsearch__box:hover { background: var(--bg-body); }
    .topsearch__go { font-size: 1.2rem; color: var(--text-main); transform: none !important; }
    .meta { gap: 16px; }
}

@media (max-width: 899px) and (min-width: 769px) {
    .nav { display: flex !important; }
    .nav__list { gap: 12px; padding: 0 14px; } 
    .nav__item a { font-size: 0.85rem; } 
    .topsearch { flex: 0 0 38px; width: 38px; max-width: 38px; }
    .topsearch__ipt { display: none !important; }
    .topsearch__box { padding: 6px; background: transparent; border: none; box-shadow: none !important; border-radius: 50%; width: 38px; height: 38px; justify-content: center; }
    .topsearch__box:hover { background: var(--bg-body); }
    .topsearch__go { font-size: 1.1rem; color: var(--text-main); transform: none !important; }
    .meta { gap: 8px; } 
    .btn { padding: 6px 14px; font-size: 0.85rem; } 
    .logo__text { font-size: 1.4rem; }
}

@media (max-width: 992px) {
    .main-layout, .thread-layout { flex-direction: column; align-items: stretch; }
    .main-content, .thread-main, .sidebar, .thread-sidebar { width: 100%; flex: 1 1 auto; max-width: 100%; }
    .forum-list { grid-template-columns: 1fr; }
    .forum-item { border-right: none; }
    .forum-item:last-child { border-bottom: none; }
    .forum-item:nth-last-child(2) { border-bottom: 1px solid var(--border-color); }
    .ct2_a, .ct2 { flex-direction: column; }
    .ct2_a .appl, .ct2 .appl { width: 100%; flex: 1 1 auto; margin-bottom: 20px; }
    .ct2_a .mn, .ct2 .mn { width: 100%; flex: 1 1 auto; padding: 20px; }
    .thread-container.is-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
}

@media (max-width: 900px) {
    .forum-hero { flex-direction: column; align-items: center; text-align: center; }
    .forum-hero__img { width: 100%; min-height: 200px; aspect-ratio: 21/9; }
    .forum-hero__info { padding: 24px 20px; width: 100%; box-sizing: border-box; }
    .forum-hero__stats { justify-content: center; flex-wrap: wrap; }
    .forum-hero__actions { justify-content: center; flex-wrap: wrap; }
    .forum-hero__desc { text-align: left; }
}

@media (max-width: 768px) {
    .meta { gap: 8px; } 
    .m-srch-btn, .m-theme-btn { display: inline-flex !important; }
    .nav { display: none !important; }
    .topsearch { display: none; }
    .meta > .hd-auth, .meta > .user { display: none; }
    .drawer__btn { display: flex; }
    .theme-toggle { display: none; }
    .seo-hero h1 { font-size: 1.4rem; }
    .wp, .main-content { padding: 0 !important; margin: 0 auto !important; width: 100% !important; max-width: 100% !important; }
    .main-layout { gap: 0 !important; margin: 0 !important; width: 100% !important; }
    body { background: var(--bg-surface); } 
    .hd__in { gap: 10px; padding: 0 16px !important; }
    #pt { padding-left: 16px !important; padding-right: 16px !important; margin-bottom: 12px !important;}
    .pgs { padding-left: 16px !important; padding-right: 16px !important; }
    
    .forum-hero, .thread-types-pills, .forum-filters,
    .diy-module, .widget, .footer-module, .forum-group, .ct2_a .appl, .ct2_a .mn {
        border-radius: 0 !important;
        border-left: none !important;
        border-right: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-shadow: none !important; 
    }
    
    #mdly { width: 95vw !important; padding: 12px 16px !important; border-radius: 20px !important; bottom: 10px !important;}
    #mdly .c { flex-wrap: wrap; justify-content: center; }
    
    .thread-container.is-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; padding: 0 12px; }

    .by-footer { padding: 24px 0; margin-top: 30px; }
    .by-footer-inner { flex-direction: column; align-items: center; text-align: center; gap: 12px; }
    .by-footer-right { text-align: center; }
    .by-float-tools { right: 16px; bottom: 80px; gap: 10px; }
    .by-tool-item { width: 34px; height: 34px; font-size: 1rem; background: rgba(255, 255, 255, 0.6); }
    [data-theme="dark"] .by-tool-item { background: rgba(31, 41, 55, 0.6); }
    .by-help-popup { right: calc(100% + 12px); padding: 14px 20px; }
}

@media (max-width: 600px) {
    .forum-filters { flex-wrap: wrap; gap: 12px; }
    .forum-filters__left { flex-wrap: wrap; gap: 8px; }
    .pm-item { flex-direction: column; }
    .pm-item .m { width: 40px; height: 40px; margin-bottom: 8px; }
    .pm_op { flex-direction: column; align-items: flex-start; gap: 12px; }
    .pm_op > div { margin-left: 0; width: 100%; display: flex; gap: 8px; }
    .pm_op button.pn { flex: 1; margin-left: 0; padding: 8px; text-align: center; }
}

/* ==========================================================
   全局 AJAX 加载提示框 (#ajaxwaitid) 居中弹窗深度美化
   ========================================================== */
#ajaxwaitid {
    /* 核心修复：默认彻底隐藏，把显示与否的控制权交还给 Discuz 的 JS */
    display: none; 
    
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    z-index: 999999 !important;
    background: rgba(255, 255, 255, 0.85) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border: 1px solid var(--border-color, #e5e7eb) !important;
    border-radius: var(--radius-md, 12px) !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.15) !important;
    padding: 20px 32px 20px 64px !important;
    
    /* 核心魔法：使用字号0暴力隐藏原生 "请稍候......" 文字 */
    font-size: 0 !important; 
    color: transparent !important;
    height: auto !important;
    line-height: 1 !important;
    right: auto !important;
}

[data-theme="dark"] #ajaxwaitid {
    background: rgba(31, 41, 55, 0.85) !important;
    border-color: #374151 !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.5) !important;
}

/* 注入新的自定义文字 */
#ajaxwaitid::after {
    /* 【修改这里】：把下面引号里的文字改成你想要的提示语！ */
    content: '安全加载中，请稍候...'; 
    font-size: 1rem !important;
    color: var(--text-main, #111827) !important;
    font-weight: 600 !important;
    letter-spacing: 1px;
}

[data-theme="dark"] #ajaxwaitid::after {
    color: #f9fafb !important;
}

/* 注入一个高颜值的现代 Loading 旋转动画圈 */
#ajaxwaitid::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 24px;
    margin-top: -10px;
    width: 20px;
    height: 20px;
    border: 3px solid rgba(59, 130, 246, 0.2);
    border-top-color: var(--primary-color, #3b82f6);
    border-radius: 50%;
    animation: by_ajax_spin 0.8s linear infinite;
}

@keyframes by_ajax_spin {
    to { transform: rotate(360deg); }
}
