@charset "utf-8";
/* ==========================================================================
   Wallpaper Theme for Discuz! X5.0 - wp.css
   B站风格（年轻二次元）：粉色主按钮 + 蓝色交互态 · 首页大图搜索 + 吸顶筛选条 + 画廊卡片 · 视频页式详情
   依赖 common/common.css 顶部定义的 --wp-* 设计变量（浅色 / 深色）
   1. 基础        2. 外壳：顶栏 / 导航 / 搜索 / 用户菜单 / 抽屉     3. 按钮 / 表单 / Discuz 通用组件
   4. 页脚 / 底部标签栏   5. 筛选条 / 卡片 / 首页大图     6. 版块页   7. 详情   8. 其他页面   9. 响应式
   ========================================================================== */

/* ---------- 1. Base ---------- */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: calc(var(--wp-header-h) + 16px); background: var(--wp-bg); }
body, body.wp-page { min-width: 0 !important; background: var(--wp-bg); color: var(--wp-text); font-family: var(--wp-font); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
* { word-break: normal; overflow-wrap: anywhere; }
table { overflow-wrap: normal; }
a { color: var(--wp-link); transition: color .2s ease, background-color .2s ease, border-color .2s ease; }
a:hover { color: var(--wp-blue); text-decoration: none; }
::selection { background: var(--wp-blue-soft); color: var(--wp-text); }
:focus { outline-color: var(--wp-blue); }
:focus-visible { outline: 2px solid var(--wp-blue); outline-offset: 2px; }
button { font-family: inherit; }
hr.l { background: var(--wp-border); color: var(--wp-border); }
.pipe { color: var(--wp-text-4); }
.xg1, .xg1 a { color: var(--wp-text-3) !important; }
.xg2 { color: var(--wp-text-2); }
.xi1, .onerror { color: var(--wp-accent); }
.xi2, .xi2 a, .xi3 a { color: var(--wp-tag-link); }
.xs0 { font-size: 12px; }
.xs1 { font-size: 13px !important; }
.xs2 { font-size: 15px !important; }
.xs3 { font-size: 17px !important; }
.wx, .ph { font-family: var(--wp-font); font-weight: 500; }
.ph { font-size: 22px; }
.mt { font-size: 18px; font-weight: 500; padding: 12px 0; }
.emp { padding: 40px 16px; text-align: center; color: var(--wp-text-3); }
.emp a { color: var(--wp-blue); text-decoration: none !important; }
.ct2_a .mn .bm > .emp { display: flex; flex-direction: column; align-items: center; gap: 14px; margin: 0; padding: 56px 24px 60px; border: 1px dashed var(--wp-border); border-radius: 18px; color: var(--wp-text-3); font-size: 14px; line-height: 1.6; }
.ct2_a .mn .bm > .emp::before { content: ""; width: 56px; height: 56px; border-radius: 50%; background: var(--wp-blue-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300AEEC' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12h-6l-2 3h-4l-2-3H2'/%3E%3Cpath d='M5.45 5.11 2 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") center / 26px no-repeat; }
.rq { color: var(--wp-accent); }
.ntc_l { padding: 10px 14px; border-radius: var(--wp-radius-sm); background: var(--wp-notice-soft); color: var(--wp-text-2); }
/* notice centre: no × (屏蔽 this kind of notice) on each item */
a[id^="a_note_"] { display: none !important; }
.notice { color: var(--wp-text-2); }
.alt, .alt th, .alt td { background-color: var(--wp-surface-2); }
.brs, .avt img, .oshr { border-radius: 6px; }
.avt img { padding: 0; border: 0; border-radius: 50%; background: var(--wp-surface-3); object-fit: cover; }
.avtm img { border-radius: var(--wp-radius-sm); }
.avts img { border-radius: 50%; }
img.user_avatar { object-fit: cover; }
#ajaxwaitid { top: calc(var(--wp-header-h) + 12px); right: 16px; left: auto; position: fixed; z-index: 9999; padding: 4px 14px; border-radius: 6px; background: var(--wp-text); color: var(--wp-bg); font-size: 12px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }
.wp-theme-switching, .wp-theme-switching *, .wp-theme-switching *::before, .wp-theme-switching *::after { transition: none !important; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: .3s; animation-timing-function: ease; }
@keyframes wp-spin { to { transform: rotate(360deg); } }
@keyframes wp-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes wp-fadeup { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes wp-shimmer { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } }
@keyframes wp-pop { 0% { transform: scale(.4); } 70% { transform: scale(1.15); } 100% { transform: scale(1); } }
@keyframes wp-jump { 0%, 100% { transform: translateY(0); } 40% { transform: translateY(-3px); } 70% { transform: translateY(1px); } }
@keyframes wp-wobble { 0%, 100% { transform: rotate(0); } 25% { transform: rotate(-6deg); } 75% { transform: rotate(6deg); } }
.wp-appear { animation: wp-fadeup .45s ease both; }

* { scrollbar-width: thin; scrollbar-color: var(--wp-border-2) transparent; }
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-thumb { background: var(--wp-border-2); border-radius: 8px; border: 2px solid var(--wp-bg); }
::-webkit-scrollbar-track { background: transparent; }

.wp-i { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; overflow: visible; }
.wp-i--sm { width: 16px; height: 16px; }
.wp-i--lg { width: 24px; height: 24px; }
.wp-i--sun, .wp-i--wide { display: none; }
:root[data-theme="dark"] .wp-i--sun { display: inline-block; }
:root[data-theme="dark"] .wp-i--moon { display: none; }
html:not(.widthauto) .wp-i--wide { display: inline-block; }
html:not(.widthauto) .wp-i--narrow { display: none; }

.wp-avatar { position: relative; display: inline-block; flex: none; width: 40px; height: 40px; overflow: hidden; border-radius: 50%; background: var(--wp-surface-3); vertical-align: middle; }
.wp-avatar img { display: block; width: 100% !important; height: 100% !important; margin: 0; padding: 0; border: 0; border-radius: 0; object-fit: cover; }
.wp-avatar--xs { width: 22px; height: 22px; }
.wp-avatar--sm { width: 32px; height: 32px; }
.wp-avatar--md { width: 44px; height: 44px; }
.wp-avatar--lg { width: 56px; height: 56px; }

.wp-hide { display: none !important; }
.wp-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.wp-muted { color: var(--wp-text-3); }
.wp-dot { position: absolute; top: 4px; right: 4px; width: 8px; height: 8px; border-radius: 50%; background: var(--wp-danger); box-shadow: 0 0 0 2px var(--wp-bg); }
.wp-count { display: inline-block; min-width: 18px; height: 18px; margin-left: auto; padding: 0 5px; border-radius: 9px; background: var(--wp-danger); color: #fff; font-size: 11px; font-style: normal; font-weight: 500; line-height: 18px; text-align: center; box-sizing: border-box; }
.wp-diy:empty, .wp-diy .area:empty { display: none; }

/* ---------- 2. Shell: header bar (banner on the forum home, white bar elsewhere) ---------- */
:root { --wp-bar-fg: var(--wp-text); --wp-banner-art: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 170' preserveAspectRatio='xMidYMid slice'%3E%3Cdefs%3E%3ClinearGradient id='s' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23FFB9D2'/%3E%3Cstop offset='.5' stop-color='%23E2CFFF'/%3E%3Cstop offset='1' stop-color='%23A9E2FF'/%3E%3C/linearGradient%3E%3CradialGradient id='g' cx='.72' cy='.1' r='.55'%3E%3Cstop offset='0' stop-color='%23fff' stop-opacity='.85'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Crect width='1600' height='170' fill='url(%23s)'/%3E%3Crect width='1600' height='170' fill='url(%23g)'/%3E%3Cg fill='%23fff' opacity='.7'%3E%3Cellipse cx='170' cy='150' rx='170' ry='40'/%3E%3Cellipse cx='330' cy='140' rx='100' ry='34'/%3E%3Cellipse cx='820' cy='168' rx='280' ry='36'/%3E%3Cellipse cx='1380' cy='150' rx='190' ry='42'/%3E%3Cellipse cx='1230' cy='146' rx='96' ry='30'/%3E%3C/g%3E%3Cg fill='%23fff'%3E%3Cpath d='M540 46l3.5 10.5 10.5 3.5-10.5 3.5-3.5 10.5-3.5-10.5-10.5-3.5 10.5-3.5z'/%3E%3Cpath d='M1090 66l2.5 7.5 7.5 2.5-7.5 2.5-2.5 7.5-2.5-7.5-7.5-2.5 7.5-2.5z'/%3E%3Cpath d='M930 30l3 9 9 3-9 3-3 9-3-9-9-3 9-3z'/%3E%3Ccircle cx='660' cy='84' r='3'/%3E%3Ccircle cx='1190' cy='34' r='2.5'/%3E%3Ccircle cx='400' cy='56' r='2.5'/%3E%3Ccircle cx='1470' cy='50' r='2'/%3E%3C/g%3E%3Cg fill='none' stroke='%23FF6699' stroke-width='3' stroke-linecap='round' opacity='.35'%3E%3Cpath d='M70 64q40-30 80 0t80 0'/%3E%3Cpath d='M1440 90q30-24 60 0t60 0'/%3E%3C/g%3E%3C/svg%3E"); }
:root[data-theme="dark"] { --wp-banner-art: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1600 170' preserveAspectRatio='xMidYMid slice'%3E%3Cdefs%3E%3ClinearGradient id='s' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%233B1B3A'/%3E%3Cstop offset='.5' stop-color='%23241F45'/%3E%3Cstop offset='1' stop-color='%230D2E45'/%3E%3C/linearGradient%3E%3CradialGradient id='g' cx='.72' cy='.1' r='.5'%3E%3Cstop offset='0' stop-color='%239D7BFF' stop-opacity='.35'/%3E%3Cstop offset='1' stop-color='%239D7BFF' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Crect width='1600' height='170' fill='url(%23s)'/%3E%3Crect width='1600' height='170' fill='url(%23g)'/%3E%3Cg fill='%23fff' opacity='.06'%3E%3Cellipse cx='170' cy='150' rx='170' ry='40'/%3E%3Cellipse cx='820' cy='168' rx='280' ry='36'/%3E%3Cellipse cx='1380' cy='150' rx='190' ry='42'/%3E%3C/g%3E%3Cg fill='%23fff' opacity='.9'%3E%3Cpath d='M540 46l3.5 10.5 10.5 3.5-10.5 3.5-3.5 10.5-3.5-10.5-10.5-3.5 10.5-3.5z'/%3E%3Cpath d='M1090 66l2.5 7.5 7.5 2.5-7.5 2.5-2.5 7.5-2.5-7.5-7.5-2.5 7.5-2.5z'/%3E%3Cpath d='M930 30l3 9 9 3-9 3-3 9-3-9-9-3 9-3z'/%3E%3Ccircle cx='660' cy='84' r='2'/%3E%3Ccircle cx='1190' cy='34' r='1.8'/%3E%3Ccircle cx='400' cy='56' r='1.8'/%3E%3Ccircle cx='1470' cy='50' r='1.5'/%3E%3Ccircle cx='260' cy='30' r='1.5'/%3E%3Ccircle cx='760' cy='22' r='1.2'/%3E%3Ccircle cx='1320' cy='96' r='1.4'/%3E%3C/g%3E%3Cg fill='none' stroke='%23F0719E' stroke-width='3' stroke-linecap='round' opacity='.3'%3E%3Cpath d='M70 64q40-30 80 0t80 0'/%3E%3Cpath d='M1440 90q30-24 60 0t60 0'/%3E%3C/g%3E%3C/svg%3E"); }
/* stacking: sticky filter 120 < back-to-top 150 < mobile tab bar 160 < header 190 < Discuz float windows (JS z-index 200+), menus (300+), dialogs (400+) */
#hd.wp-top { position: relative; z-index: 190; height: var(--wp-bar-h); margin: 0; padding: 0; border: 0; background: none; }
#hd.wp-top.has-banner { height: var(--wp-hero-h); }
.wp-top__bar { position: fixed; top: 0; left: 0; right: 0; z-index: 190; height: var(--wp-bar-h); background: var(--wp-bg); box-shadow: 0 1px 0 var(--wp-line); transition: background-color .25s ease, box-shadow .25s ease; }
#hd.wp-top.is-scrolled .wp-top__bar { box-shadow: 0 2px 4px rgba(0, 0, 0, .08); }
:root[data-theme="dark"] #hd.wp-top.is-scrolled .wp-top__bar { box-shadow: 0 1px 0 var(--wp-border); }
#hd.has-banner:not(.is-scrolled) { --wp-bar-fg: #FFFFFF; }
#hd.has-banner:not(.is-scrolled) .wp-top__bar { background: transparent; box-shadow: none; }
#hd.has-banner:not(.is-scrolled) .wp-nav__list li > a, #hd.has-banner:not(.is-scrolled) .wp-entry { text-shadow: 0 1px 2px rgba(0, 0, 0, .28); }
#hd.has-banner:not(.is-scrolled) .wp-entry .wp-i { filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .25)); }
.wp-top__inner { position: relative; display: flex; align-items: center; gap: 8px; height: 100%; max-width: 2560px; margin: 0 auto; padding: 0 24px; box-sizing: border-box; }
#hd h2.wp-logo { float: none; display: flex; align-items: center; flex: none; height: 100%; margin: 0 6px 0 0; padding: 0; line-height: 0; }
.wp-logo a { display: inline-flex; align-items: center; height: 40px; }
.wp-logo img, .wp-logo svg { width: auto; max-width: 150px; max-height: 32px; vertical-align: middle; }
#hd.has-banner:not(.is-scrolled) .wp-logo img { filter: brightness(0) invert(1) drop-shadow(0 1px 2px rgba(0, 0, 0, .28)); }
/* 站点 Logo 文字 (style variable wp_logo_text): the site name set as text in place of the logo image */
.wp-logo__text { display: block; max-width: 220px; overflow: hidden; color: var(--wp-text); font-size: 20px; font-weight: 700; line-height: 28px; letter-spacing: .01em; white-space: nowrap; text-overflow: ellipsis; transition: color .2s; }
.wp-logo a:hover .wp-logo__text { color: var(--wp-accent); }
#hd.has-banner:not(.is-scrolled) .wp-logo__text { color: #FFFFFF; text-shadow: 0 1px 2px rgba(0, 0, 0, .28); }
.wp-logo__dark { display: none !important; }
:root[data-theme="dark"] .wp-logo.has-dark .wp-logo__light { display: none !important; }
:root[data-theme="dark"] .wp-logo.has-dark .wp-logo__dark { display: inline-block !important; }
:root[data-theme="dark"] .wp-logo:not(.has-dark) img[src*="static/image/common/logo"] { filter: brightness(0) invert(.94); }
.wp-top__searchbtn { display: none !important; }
.wp-guestname { color: var(--wp-bar-fg); font-size: 13px; }
.wp-mobilebar { position: relative; z-index: 195; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 10px; padding: 8px 16px; background: var(--wp-blue-soft); color: var(--wp-text-2); font-size: 13px; }
#shortcut { background: var(--wp-accent-fill); }

/* primary nav */
.wp-nav { position: relative; display: flex; align-items: center; flex: 0 1 auto; min-width: 0; height: 100%; overflow: hidden; }
.wp-nav__list { position: relative; z-index: 1; display: flex; align-items: center; gap: 0; margin: 0; padding: 0; }
.wp-nav__list li { float: none; flex: none; height: auto; margin: 0; padding: 0; list-style: none; line-height: normal; background: none; }
.wp-nav__list li > a { position: relative; display: inline-flex; align-items: center; gap: 4px; height: var(--wp-bar-h); margin: 0; padding: 0 10px; float: none; border: 0; border-radius: 0; background: none; color: var(--wp-bar-fg) !important; font-size: 14px; font-weight: 400; line-height: 1; white-space: nowrap; text-decoration: none !important; transition: opacity .2s ease; }
.wp-nav__list li > a span { display: none; }
.wp-nav__list li > a:hover { opacity: .78; }
.wp-nav__list li.a > a { font-weight: 600; }
.wp-nav__list li.a > a::after { content: ""; position: absolute; left: 50%; bottom: 12px; width: 14px; height: 3px; margin-left: -7px; border-radius: 2px; background: var(--wp-accent); }
#hd.has-banner:not(.is-scrolled) .wp-nav__list li.a > a::after { background: #FFFFFF; }
.wp-nav__list li img { max-height: 20px; vertical-align: middle; }
.wp-nav__ink { display: none !important; }
/* a nav with a single item (usually 首页) is not shown: the logo already links home and categories live in the filter bar below */
.wp-nav__list:not(:has(> li:nth-child(2))) { display: none; }

/* search */
.wp-search { position: relative; z-index: 2; flex: 1 1 auto; min-width: 180px; max-width: 500px; margin: 0 16px 0 auto; }
.wp-search__box { position: relative; display: flex; align-items: center; gap: 2px; height: 40px; padding: 0 4px 0 14px; box-sizing: border-box; border: 1px solid var(--wp-border); border-radius: 8px; background: var(--wp-surface-3); transition: background-color .3s, border-color .3s, border-radius .15s; }
#hd.has-banner:not(.is-scrolled) .wp-search__box { border-color: rgba(255, 255, 255, .3); background: rgba(255, 255, 255, .88); }
:root[data-theme="dark"] #hd.has-banner:not(.is-scrolled) .wp-search__box { background: rgba(35, 37, 39, .9); }
#hd.has-hero .wp-search, #hd.has-hero .wp-top__searchbtn { transition: opacity .25s ease, visibility .25s; }
:root:not(.wp-search-open) #hd.has-hero:not(.is-scrolled) .wp-search, #hd.has-hero:not(.is-scrolled) .wp-top__searchbtn { opacity: 0; visibility: hidden; }
.wp-search:focus-within .wp-search__box { border-color: var(--wp-border); border-radius: 8px 8px 0 0; background: var(--wp-bg) !important; }
.wp-search__icon, .wp-search__kbd { display: none !important; }
.wp-search__input { flex: 1; min-width: 0; height: 32px; padding: 0 8px 0 0; border: 0 !important; outline: 0; background: transparent !important; color: var(--wp-text); font-size: 14px; box-shadow: none !important; }
.wp-search__input::placeholder { color: var(--wp-text-2); }
.wp-search__input::-webkit-search-cancel-button { -webkit-appearance: none; }
.wp-search__clear, .wp-search__btn { display: grid; place-items: center; flex: none; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: var(--wp-text-2); cursor: pointer; transition: background-color .2s, color .2s; }
.wp-search__clear { display: none; width: 24px; height: 24px; color: var(--wp-text-3); }
.wp-search.has-value .wp-search__clear { display: grid; }
.wp-search__btn:hover { background: var(--wp-border); color: var(--wp-text); }
.wp-search__clear .wp-i { width: 14px; height: 14px; }
.wp-search__btn .wp-i { width: 17px; height: 17px; stroke-width: 2; }
.wp-search__clear:hover { color: var(--wp-text); }
.wp-search__panel { position: absolute; top: 100%; left: 0; z-index: 20; width: 100%; max-height: calc(100vh - 90px); padding: 14px 0 8px; overflow-y: auto; box-sizing: border-box; border: 1px solid var(--wp-border); border-top: 0; border-radius: 0 0 8px 8px; background: var(--wp-bg); box-shadow: 0 12px 24px -8px rgba(0, 0, 0, .12); opacity: 0; visibility: hidden; transition: opacity .15s ease, visibility .15s; }
.wp-search:focus-within .wp-search__panel { opacity: 1; visibility: visible; }
.wp-search__group { padding: 0 16px 12px; }
.wp-search__group[hidden] { display: none; }
.wp-search__title { display: flex; align-items: center; justify-content: space-between; margin: 0 0 12px; color: var(--wp-text); font-size: 16px; font-weight: 500; line-height: 24px; }
.wp-search__del { display: grid; place-items: center; width: 26px; height: 26px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: var(--wp-text-3); cursor: pointer; }
.wp-search__del:hover { background: var(--wp-surface-3); color: var(--wp-blue); }
.wp-search__del .wp-i { width: 16px; height: 16px; }
.wp-search__chips { display: flex; flex-wrap: wrap; gap: 10px; }
.wp-search__chips a { max-width: 180px; height: 30px; overflow: hidden; padding: 0 10px; box-sizing: border-box; border-radius: 4px; background: var(--wp-surface-2); color: var(--wp-text-2) !important; font-size: 12px; line-height: 30px; white-space: nowrap; text-overflow: ellipsis; }
.wp-search__chips a:hover { background: var(--wp-surface-3); color: var(--wp-blue) !important; }
.wp-search__hot { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 0 -16px; padding: 0; }
.wp-search__hot li { list-style: none; }
.wp-search__hot a { display: flex; align-items: center; gap: 8px; height: 38px; padding: 0 16px; color: var(--wp-text) !important; font-size: 14px; }
.wp-search__hot a:hover { background: var(--wp-surface-3); }
.wp-search__hot em { flex: none; width: 16px; color: var(--wp-text-3); font-size: 14px; font-style: normal; font-weight: 500; text-align: center; font-variant-numeric: tabular-nums; }
.wp-search__hot li:nth-child(-n+3) em { color: var(--wp-text); }
.wp-search__hot span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.wp-search__links { display: flex; gap: 4px; margin: 2px 16px 0; padding-top: 8px; border-top: 1px solid var(--wp-line); }
.wp-search__links a { padding: 4px 8px; border-radius: 6px; color: var(--wp-text-3) !important; font-size: 13px; }
.wp-search__links a:hover { background: var(--wp-surface-3); color: var(--wp-blue) !important; }

/* right entries */
.wp-top__right { display: flex; align-items: center; justify-content: flex-end; gap: 2px; flex: none; margin-left: auto; }
.wp-search ~ .wp-top__right { margin-left: 0; }
.wp-entry { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-width: 46px; height: 50px; margin: 0; padding: 0 4px; box-sizing: border-box; border: 0; border-radius: 0; background: none; color: var(--wp-bar-fg) !important; font-size: 13px; line-height: 17px; white-space: nowrap; text-decoration: none !important; cursor: pointer; }
.wp-entry .wp-i { width: 20px; height: 20px; }
.wp-entry:hover .wp-i { animation: wp-jump .35s ease; }
.wp-entry__label { font-size: 13px; line-height: 17px; }
.wp-entry .wp-count { position: absolute; top: 2px; left: calc(50% + 4px); min-width: 16px; height: 16px; margin: 0; padding: 0 4px; border-radius: 8px; font-size: 11px; line-height: 16px; text-shadow: none; }
#myprompt.new .wp-count { animation: wp-pop .4s ease; }
#myprompt::before, #pm_ntc::before, #task_ntc::before { content: none !important; display: none !important; }
/* guests: one entry drawn exactly like 更多 (icon over 登录) that opens the login window; hovering it shows a small card with 登录 and 注册 */
.wp-sign { position: relative; display: flex; }
.wp-sign__card { position: absolute; top: calc(100% + 8px); right: -6px; z-index: 320; width: 240px; padding: 16px; box-sizing: border-box; border: 1px solid var(--wp-border); border-radius: 12px; background: var(--wp-elevated); box-shadow: var(--wp-shadow-lg); color: var(--wp-text); text-align: left; text-shadow: none; white-space: normal; opacity: 0; visibility: hidden; transform: translateY(-4px); transition: opacity .15s ease, transform .15s ease, visibility .15s; }
.wp-sign__card::before { content: ""; position: absolute; right: 0; bottom: 100%; left: 0; height: 10px; }
@media (hover: hover) {
	.wp-sign:hover .wp-sign__card { opacity: 1; visibility: visible; transform: none; }
}
.wp-sign:has(:focus-visible) .wp-sign__card { opacity: 1; visibility: visible; transform: none; }
.wp-sign.is-used .wp-sign__card { opacity: 0; visibility: hidden; transform: translateY(-4px); }
.wp-sign__text { margin: 0 0 12px; color: var(--wp-text-2); font-size: 13px; line-height: 20px; }
.wp-sign__btns { display: flex; gap: 8px; }
.wp-sign__btn { flex: 1; display: grid; place-items: center; height: 36px; border-radius: 8px; font-size: 14px; font-weight: 500; line-height: 1; text-decoration: none !important; transition: background-color .2s, color .2s; }
.wp-sign__btn--login { background: var(--wp-blue-fill); color: #FFFFFF !important; }
.wp-sign__btn--login:hover { background: var(--wp-blue-hover); }
.wp-sign__btn--reg { background: var(--wp-surface-2); color: var(--wp-text) !important; }
.wp-sign__btn--reg:hover { background: var(--wp-surface-3); color: var(--wp-blue) !important; }
.wp-top__me { position: relative; display: grid; place-items: center; width: 50px; height: 50px; margin: 0 0 0 6px; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
.wp-top__me .wp-avatar { position: relative; z-index: 2; width: 36px; height: 36px; box-shadow: 0 0 0 2px #FFFFFF; transition: box-shadow .2s ease; }
.wp-top__me:hover .wp-avatar, .wp-umenu.is-open .wp-top__me .wp-avatar { box-shadow: 0 0 0 2px #FFFFFF, 0 0 0 4px var(--wp-accent); }
.wp-top__me .wp-dot { z-index: 3; top: 8px; right: 8px; }
.wp-umenu.is-open .wp-top__me .wp-dot { opacity: 0; }

/* user menu: the avatar (members) or 更多 (guests) is the last item in the bar, so the menu opens right-aligned */
.wp-umenu { position: relative; }
.wp-umenu__menu, .wp-dd__menu.wp-umenu__menu { top: calc(100% + 6px); left: auto; right: 0; z-index: 1; width: 300px; max-height: calc(100vh - 90px); padding: 12px; overflow-x: hidden; overflow-y: auto; border-radius: 8px; transform: translateY(-4px); transform-origin: top right; }
.wp-dd.wp-umenu.is-open > .wp-umenu__menu { transform: none; }
.wp-umenu__user { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 0 0 8px; color: var(--wp-text) !important; text-align: center; }
.wp-umenu__user > a.wp-avatar, .wp-umenu__user > .wp-avatar { display: inline-block; }
.wp-umenu__meta { display: flex; flex-direction: column; align-items: center; min-width: 0; }
.wp-umenu__meta strong { max-width: 260px; overflow: hidden; color: var(--wp-accent); font-size: 18px; font-weight: 500; line-height: 26px; white-space: nowrap; text-overflow: ellipsis; }
.wp-umenu__meta strong a { color: inherit !important; }
.wp-umenu__meta em { color: var(--wp-text-3); font-size: 12px; font-style: normal; }
.wp-umenu__meta em a { color: var(--wp-text-3) !important; }
.wp-umenu__meta em a:hover { color: var(--wp-blue) !important; }
.vwmy:before { display: none; }
.wp-umenu__status { padding: 0 12px 6px; font-size: 12px; text-align: center; }
.wp-umenu__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(76px, 1fr)); gap: 2px; margin: 4px 0 6px; padding: 8px 0; border-top: 1px solid var(--wp-line); border-bottom: 1px solid var(--wp-line); }
:root[data-theme="dark"] .wp-umenu__grid, :root[data-theme="dark"] .wp-umenu #i18n-switch_menu { border-color: var(--wp-border) !important; }
.wp-umenu__grid a { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 8px 4px; border-radius: 6px; color: var(--wp-text-2) !important; font-size: 12px; text-align: center; white-space: nowrap; }
.wp-umenu__grid a .wp-i { width: 20px; height: 20px; }
.wp-umenu__grid a:hover { background: var(--wp-surface-3); color: var(--wp-blue) !important; }
.wp-umenu__grid .wp-count { position: absolute; top: 4px; right: 12px; }
.wp-umenu__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 6px 8px; }
.wp-umenu__label { color: var(--wp-text-2); font-size: 14px; white-space: nowrap; }
.wp-umenu__links { display: flex; flex-wrap: wrap; gap: 2px 4px; padding: 2px 4px 4px; }
.wp-umenu__links a, .wp-umenu__links #i18n-switch, .wp-umenu__links #diy-tg { float: none !important; display: inline-flex; align-items: center; width: auto !important; height: 28px !important; margin: 0 !important; padding: 0 8px !important; border: 0; border-radius: 6px; background: none; color: var(--wp-text-3) !important; font-size: 12px; line-height: 28px !important; text-indent: 0; }
.wp-umenu__links a:hover { background: var(--wp-surface-3); color: var(--wp-blue) !important; }
.wp-umenu__links a::before { display: none !important; }
.wp-umenu__links li { list-style: none; }
/* separate rules: a :has() nested inside :has() is invalid and used to drop this whole rule */
.wp-umenu__links:not(:has(a, button)) { display: none; }
.wp-umenu__links.is-empty, .wp-dd__sep:has(+ .wp-umenu__links.is-empty) { display: none; }
.wp-umenu__menu > .wp-dd__sep:last-child { display: none; }
/* Discuz language / mode switch cell: show its options inline (its hover popup was positioned for the page and overflowed the menu) */
.wp-umenu #i18n-switch { display: none !important; }
.wp-umenu #i18n-switch_menu { position: static !important; display: block !important; flex: 1 0 100%; order: -1; width: auto !important; height: auto !important; margin: 0 0 6px !important; padding: 0 0 8px !important; border: 0 !important; border-bottom: 1px solid var(--wp-line) !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; line-height: normal !important; text-align: left !important; }
.wp-umenu #i18n-switch_menu ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0 4px; }
.wp-umenu #i18n-switch_menu li { list-style: none; }
.wp-umenu__links #i18n-switch_menu a { height: 28px !important; padding: 0 12px !important; border-radius: 14px; background: var(--wp-press); color: var(--wp-text-2) !important; font-size: 13px; }
.wp-umenu__links #i18n-switch_menu a:hover { background: var(--wp-accent-soft); color: var(--wp-accent) !important; }
/* Discuz DIY switch: its 简洁 / 高级 mode menu is a hover popup placed in page coordinates, which overflowed the scrolling menu; modes are shown inline instead */
.wp-umenu__links:has(#diy-tg_menu)::before { content: ""; order: 19; flex-basis: 100%; height: 0; }
.wp-umenu__links #diy-tg { order: 20; margin-right: auto !important; padding: 0 4px !important; color: var(--wp-text-2) !important; font-size: 13px; }
.wp-umenu__links #diy-tg::after { display: none; }
.wp-umenu #diy-tg_menu { order: 21; position: static !important; display: block !important; width: auto !important; height: auto !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; line-height: normal !important; }
.wp-umenu #diy-tg_menu ul { display: flex; gap: 6px; margin: 0; padding: 0; }
.wp-umenu #diy-tg_menu li { list-style: none; }
.wp-umenu__links #diy-tg_menu a { height: 28px !important; padding: 0 12px !important; border-radius: 14px; background: var(--wp-press); color: var(--wp-text-2) !important; font-size: 13px; }
.wp-umenu__links #diy-tg_menu a:hover { background: var(--wp-accent-soft); color: var(--wp-accent) !important; }
.wp-segmented { display: inline-flex; gap: 2px; padding: 2px; border-radius: 6px; background: var(--wp-surface-3); }
.wp-segmented button { display: grid; place-items: center; min-width: 34px; height: 28px; padding: 0 9px; border: 0; border-radius: 4px; background: transparent; color: var(--wp-text-3); font-size: 13px; cursor: pointer; }
.wp-segmented button .wp-i { width: 16px; height: 16px; }
.wp-segmented button:hover { color: var(--wp-text); }
[data-theme-mode="light"] .wp-segmented [data-wp-theme="light"], [data-theme-mode="dark"] .wp-segmented [data-wp-theme="dark"], [data-theme-mode="auto"] .wp-segmented [data-wp-theme="auto"], html.widthauto .wp-segmented [data-wp-width="wide"], html:not(.widthauto) .wp-segmented [data-wp-width="narrow"] { background: var(--wp-bg); color: var(--wp-blue); font-weight: 500; box-shadow: var(--wp-shadow-sm); }
.wp-swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.wp-swatch { width: 22px; height: 22px; padding: 2px; border: 1px solid var(--wp-border); border-radius: 50%; cursor: pointer; box-sizing: border-box; }
.wp-swatch i { display: block; width: 100%; height: 100%; border-radius: 50%; background: var(--wp-accent-fill); }
.wp-swatch:hover { border-color: var(--wp-text-3); }

/* ---------- Shell: main area ---------- */
.wp-main { display: block; min-height: 100vh; padding-top: 20px; box-sizing: border-box; }
.wp-main.is-bare, .wp-main.is-home { padding-top: 0; }
.wp-page .wp { width: auto; max-width: var(--wp-maxw); margin-left: auto; margin-right: auto; padding-left: var(--wp-gutter); padding-right: var(--wp-gutter); box-sizing: border-box; }
#wp.wp { padding-top: 4px; padding-bottom: 8px; min-height: 60vh; }
.wp-main.is-home #wp.wp { padding-top: 0; }
#wp .wp, .wp .wp, #ct.wp .wp { max-width: none; padding-left: 0; padding-right: 0; }
html.widthauto { --wp-maxw: 100%; }
#ct { min-height: 240px; }
.mn { overflow: visible; }
.ct1 { border: 0; }
.ct2 { display: flex; align-items: flex-start; gap: 24px; }
.ct2::after { display: none; }
.ct2 .mn { float: none; flex: 1; min-width: 0; width: auto; margin-bottom: 16px; }
.ct2 .sd { float: none; flex: 0 0 280px; width: 280px; overflow: visible; }
.ct2_a, .ct3_a { border: 0; background: none; display: flex; align-items: flex-start; gap: 24px; }
.ct2_a::after, .ct3_a::after { display: none; }
.ct2_a .mn, .ct3_a .mn { float: none; order: 2; flex: 1 1 auto; min-width: 0; width: auto !important; margin: 0; padding: 0; }
.ct2_a .appl, .ct3_a .appl { float: none; order: 1; flex: 0 0 200px; width: 200px; margin: 0; padding: 8px; box-sizing: border-box; border: 1px solid var(--wp-line); border-radius: 16px; background: var(--wp-surface); position: sticky; top: calc(var(--wp-header-h) + 16px); }
.ct3_a .sd { float: none; order: 3; flex: 0 0 260px; width: 260px; }
.ct2_a_r .appl { display: none; }
.mw { width: 100%; }
.sd .bm { margin-bottom: 16px; }
#mu.wp-subnav { position: relative; z-index: 1; max-width: var(--wp-maxw); margin: 0 auto; padding: 0 var(--wp-gutter) 4px; box-sizing: border-box; }
#mu.wp-subnav ul { display: flex; gap: 4px; overflow-x: auto; padding: 4px 0; background: transparent; line-height: 1; scrollbar-width: none; }
#mu.wp-subnav ul::-webkit-scrollbar { display: none; }
#mu.wp-subnav li { float: none; height: auto; flex: none; }
#mu.wp-subnav a { float: none; display: block; margin: 0; padding: 8px 12px; border: 0; border-radius: 6px; color: var(--wp-text-2); font-size: 14px; }
#mu.wp-subnav a:hover { margin: 0; border: 0; background: var(--wp-surface-3); color: var(--wp-blue); }
/* 面包屑全站不显示（作者 2026-10-14）：#pt 盖住模板自己的页面和沿用 Discuz 默认模板的页面，只隐藏不删节点，脚本照常能找到它 */
.wp-crumb, #pt { display: none !important; }

/* ---------- 3. Dropdown ---------- */
.wp-dd { position: relative; }
.wp-dd__menu { position: absolute; top: calc(100% + 8px); left: 0; z-index: 310; min-width: 180px; padding: 6px; box-sizing: border-box; border: 1px solid var(--wp-border); border-radius: 8px; background: var(--wp-elevated); box-shadow: var(--wp-shadow-lg); opacity: 0; visibility: hidden; transform: translateY(-4px); transform-origin: top left; transition: opacity .15s ease, transform .15s ease, visibility .15s; }
.wp-dd__menu--right { left: auto; right: 0; transform-origin: top right; }
.wp-dd__menu--up { top: auto; bottom: calc(100% + 10px); left: auto; right: 0; transform-origin: bottom right; }
.wp-dd.is-open > .wp-dd__menu { opacity: 1; visibility: visible; transform: none; }
.wp-dd__item { display: flex; align-items: center; gap: 10px; width: 100%; height: 38px; padding: 0 12px; box-sizing: border-box; border: 0; border-radius: 6px; background: transparent; color: var(--wp-text) !important; font-size: 14px; line-height: 1.3; text-align: left; white-space: nowrap; cursor: pointer; }
.wp-dd__item .wp-i { width: 18px; height: 18px; color: var(--wp-text-2); }
.wp-dd__item:hover { background: var(--wp-surface-3); }
.wp-dd__item.is-active, .wp-dd__item.is-active .wp-i { color: var(--wp-blue) !important; }
.wp-dd__item--danger, .wp-dd__item--danger .wp-i { color: var(--wp-text-2) !important; }
.wp-dd__item--danger:hover, .wp-dd__item--danger:hover .wp-i { color: var(--wp-danger) !important; }
.wp-dd__item span[id] { margin-left: auto; color: var(--wp-text-3); font-size: 12px; }
.wp-dd__sep { height: 1px; margin: 6px 4px; background: var(--wp-line); }
:root[data-theme="dark"] .wp-dd__sep { background: var(--wp-border); }
.wp-dd__label { padding: 6px 12px 4px; color: var(--wp-text-3); font-size: 12px; }
.wp-dd__item.new { color: var(--wp-notice) !important; }
.wp-dd__menu--wide { width: 360px; padding: 12px; }
.wp-dd__chips { display: flex; flex-wrap: wrap; gap: 6px; padding: 4px 4px 10px; }
.wp-dd__chips .wp-chip { height: 28px; font-size: 13px; }

/* ---------- Buttons ---------- */
.wp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 36px; padding: 0 18px; box-sizing: border-box; border: 1px solid var(--wp-border); border-radius: 6px; background: var(--wp-bg); color: var(--wp-text) !important; font-size: 14px; font-weight: 400; line-height: 1; white-space: nowrap; text-decoration: none !important; cursor: pointer; -webkit-user-select: none; user-select: none; transition: background-color .2s ease, color .2s ease, border-color .2s ease, opacity .2s ease; }
.wp-btn:hover { border-color: var(--wp-border-2); background: var(--wp-surface-3); }
.wp-btn:active { opacity: .85; }
.wp-btn .wp-i { width: 18px; height: 18px; }
.wp-btn--primary, .wp-btn--gradient { border-color: transparent; background: var(--wp-accent-fill); color: #FFFFFF !important; }
.wp-btn--primary:hover, .wp-btn--gradient:hover { border-color: transparent; background: var(--wp-accent-hover); }
.wp-btn--blue, .wp-btn.wp-btn--follow { border-color: transparent; background: var(--wp-blue-fill); color: #FFFFFF !important; }
.wp-btn--blue:hover, .wp-btn.wp-btn--follow:hover { border-color: transparent; background: var(--wp-blue-hover); }
.wp-btn--ghost { border-color: transparent; background: var(--wp-surface-3); color: var(--wp-text-2) !important; }
.wp-btn--ghost:hover { border-color: transparent; background: var(--wp-border); color: var(--wp-text) !important; }
.wp-btn--outline { border-color: var(--wp-border); background: transparent; color: var(--wp-text) !important; }
.wp-btn--outline:hover { border-color: var(--wp-blue); background: transparent; color: var(--wp-blue) !important; }
.wp-btn--pinkline { border-color: var(--wp-accent); background: transparent; color: var(--wp-accent) !important; }
.wp-btn--pinkline:hover { border-color: var(--wp-accent); background: var(--wp-accent-soft); }
.wp-btn--glass { border-color: rgba(255, 255, 255, .3); background: rgba(255, 255, 255, .16); color: #FFFFFF !important; -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.wp-btn--sm { height: 30px; padding: 0 12px; font-size: 13px; }
.wp-btn--lg { height: 42px; padding: 0 24px; font-size: 15px; font-weight: 500; }
.wp-btn--block { display: flex; width: 100%; }
.wp-btn--follow { height: 32px; padding: 0 18px; font-size: 14px; }
.wp-btn.is-on { border-color: transparent; background: var(--wp-surface-3); color: var(--wp-text-3) !important; }
.wp-iconbtn { position: relative; display: inline-grid; place-items: center; flex: none; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: var(--wp-text-2); cursor: pointer; transition: background-color .2s, color .2s; }
.wp-iconbtn:hover { background: var(--wp-surface-3); color: var(--wp-blue); }
.wp-iconbtn.is-on { color: var(--wp-blue); background: var(--wp-blue-soft); }
.wp-textbtn { display: inline-flex; align-items: center; gap: 4px; height: 30px; padding: 0 8px; border: 0; border-radius: 6px; background: transparent; color: var(--wp-text-2) !important; font-size: 14px; white-space: nowrap; cursor: pointer; }
.wp-textbtn:hover { background: var(--wp-surface-3); color: var(--wp-blue) !important; }
.wp-textbtn .wp-i { width: 16px; height: 16px; }

/* Discuz native buttons */
.pn { height: 34px; margin-right: 6px; padding: 0 16px; box-sizing: border-box; border: 1px solid var(--wp-border); border-radius: 6px; background: var(--wp-bg); color: var(--wp-text); font-size: 14px; line-height: 32px; box-shadow: none; overflow: visible; vertical-align: middle; transition: background-color .2s, border-color .2s, opacity .2s; }
.pn:hover { border-color: var(--wp-border-2); background: var(--wp-surface-3); }
.pn:active { opacity: .85; }
.pn:focus { box-shadow: 0 0 0 3px var(--wp-blue-soft); }
.pn em, .pn span, .pn strong { padding: 0; line-height: inherit; }
.pn em, .pn strong { font-weight: 500; }
a.pn { display: inline-flex; align-items: center; height: 34px; line-height: 1; color: var(--wp-text) !important; }
.pnc, a.pnc, button.pnc { border-color: transparent; background: var(--wp-blue-fill); color: #FFFFFF !important; }
.pnc:hover, a.pnc:hover { border-color: transparent; background: var(--wp-blue-hover); }
.pnpost .pn { height: 38px; padding: 0 24px; }
.pgsbtn { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 18px; box-sizing: border-box; border: 0; border-radius: 8px; background: var(--wp-accent-fill); color: #FFFFFF !important; font-size: 14px; font-weight: 500; line-height: 1; letter-spacing: 0; }
.pgsbtn:hover { background: var(--wp-accent-hover); color: #FFFFFF !important; }
.pgsbtn.showmenu::after { border-top-color: #FFFFFF; }
.oshr { padding: 2px 10px; border: 1px solid var(--wp-border); border-radius: 6px; }

/* ---------- Forms ---------- */
.px, .pt, .ps, select { border: 1px solid var(--wp-input-border); border-radius: 6px; background-color: var(--wp-input-bg); color: var(--wp-text); font-family: inherit; font-size: 14px; transition: border-color .2s, box-shadow .2s, background-color .2s; }
.px { height: 36px; padding: 0 12px; line-height: 34px; box-sizing: border-box; }
.pt { padding: 8px 12px; line-height: 1.6; box-sizing: border-box; }
div.pt { height: 100px; line-height: 1.6; }
.ps, select { height: 36px; padding: 0 32px 0 12px; box-sizing: border-box; -webkit-appearance: none; appearance: none; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%239499A0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M3 4.5l3 3 3-3'/%3e%3c/svg%3e"); background-repeat: no-repeat; background-position: right 12px center; background-size: 12px; cursor: pointer; }
select[multiple], select[size]:not([size="1"]), .ps[multiple] { height: auto; padding: 6px; background-image: none; }
.px:hover, .pt:hover, .ps:hover, select:hover { border-color: var(--wp-border-2); }
.px:focus, .pt:focus, .ps:focus, select:focus, .ftid a:focus { outline: 0; border-color: var(--wp-blue); background-color: var(--wp-bg); box-shadow: none; }
.px::placeholder, .pt::placeholder { color: var(--wp-text-3); }
.px[disabled], .pt[disabled], select[disabled] { opacity: .6; cursor: not-allowed; }
/* inputs in editor dialogs (hide, code, quote ...) still use Discuz's old txt / txtarea classes, or none at all */
input.txt, .p_pof textarea, .p_opt textarea, textarea.txtarea { box-sizing: border-box; border: 1px solid var(--wp-input-border); border-radius: 8px; background-color: var(--wp-input-bg); color: var(--wp-text); font-family: inherit; font-size: 14px; transition: border-color .2s, background-color .2s; }
input.txt { height: 36px; padding: 0 12px; }
.p_pof textarea, .p_opt textarea, textarea.txtarea { max-width: 100%; padding: 8px 12px; line-height: 1.6; resize: vertical; }
input.txt:hover, .p_pof textarea:hover, .p_opt textarea:hover, textarea.txtarea:hover { border-color: var(--wp-border-2); }
input.txt:focus, .p_pof textarea:focus, .p_opt textarea:focus, textarea.txtarea:focus { outline: 0; border-color: var(--wp-blue); background-color: var(--wp-bg); }
.er { border-color: var(--wp-danger) !important; background-color: var(--wp-danger-soft) !important; }
/* checkboxes and radios drawn by the theme: with the light B站 blue as accent colour, native ones get a dark tick and dark outline in light mode */
input[type="checkbox"], input[type="radio"] { -webkit-appearance: none; appearance: none; display: inline-block; box-sizing: border-box; width: 16px; height: 16px; padding: 0; border: 1.5px solid var(--wp-border-2); border-radius: 4px; background: var(--wp-bg) no-repeat center / 12px 12px; vertical-align: -3px; cursor: pointer; transition: border-color .15s, background-color .15s, box-shadow .15s; }
input[type="radio"] { border-radius: 50%; }
input[type="checkbox"]:hover, input[type="radio"]:hover { border-color: var(--wp-blue); }
input[type="checkbox"]:checked, input[type="checkbox"]:indeterminate { border-color: var(--wp-blue-fill); background-color: var(--wp-blue-fill); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }
input[type="checkbox"]:indeterminate { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round'%3E%3Cpath d='M6 12h12'/%3E%3C/svg%3E"); }
input[type="radio"]:checked { border-color: var(--wp-blue-fill); box-shadow: inset 0 0 0 3px var(--wp-bg), inset 0 0 0 8px var(--wp-blue-fill); }
input[type="checkbox"]:focus-visible, input[type="radio"]:focus-visible { outline: 2px solid var(--wp-blue-soft); outline-offset: 2px; }
input[type="checkbox"]:disabled, input[type="radio"]:disabled { border-color: var(--wp-border); background-color: var(--wp-surface-2); cursor: not-allowed; }
input[type="checkbox"]:checked:disabled { border-color: var(--wp-text-4); background-color: var(--wp-text-4); }
input[type="radio"]:checked:disabled { box-shadow: inset 0 0 0 3px var(--wp-surface-2), inset 0 0 0 8px var(--wp-text-4); }
input.wp-sr { width: 1px; height: 1px; border: 0; }
input[type="range"], progress { accent-color: var(--wp-blue-fill); }
.pxs { width: 44px !important; padding: 0 6px; }
.ftid a { height: 36px; padding: 0 30px 0 12px; line-height: 34px; border: 1px solid var(--wp-input-border); border-radius: 6px; background: var(--wp-input-bg) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%239499A0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M3 4.5l3 3 3-3'/%3e%3c/svg%3e") no-repeat right 10px center; color: var(--wp-text) !important; font-size: 14px; }
.ftid a:hover, .ftid a:focus { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%239499A0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M3 4.5l3 3 3-3'/%3e%3c/svg%3e"); border-color: var(--wp-border-2); }
.ftid select { height: 36px; }
.sltm { padding: 6px; border: 1px solid var(--wp-border); border-radius: 8px; background: var(--wp-elevated); box-shadow: var(--wp-shadow-lg); }
.sltm li { padding: 7px 12px; border-radius: 6px; color: var(--wp-text-2); }
.sltm li:hover { background: var(--wp-surface-3); color: var(--wp-text); }
.sltm li.current { color: var(--wp-blue); }
.tfm th, .tfm td { padding: 10px 0; }
.tfm th { padding-top: 18px; padding-right: 14px; color: var(--wp-text-2); }
.tfm .d { color: var(--wp-text-3); font-size: 12px; }
.tfm .pt, .tfm .px { max-width: 100%; }
.exfm { border: 1px dashed var(--wp-border-2); border-radius: var(--wp-radius); background: var(--wp-surface-2); }
.rfm { width: 100%; max-width: 760px; border-bottom: 1px dashed var(--wp-border); }
.rfm th, .rfm td { padding: 12px 4px; }
.rfm .px { width: 260px; max-width: 100%; }
.rfm .p_tip { background: var(--wp-surface); color: var(--wp-text-3); }
.passlevel { background-image: linear-gradient(90deg, var(--wp-surface-3), var(--wp-surface-3)); }


/* ---------- 4. Discuz blocks ---------- */
.bm { margin-bottom: 16px; border: 1px solid var(--wp-border); border-radius: var(--wp-radius); background: var(--wp-surface); box-shadow: none; }
.bm_h { height: auto; min-height: 48px; padding: 0 16px; box-sizing: border-box; border: 0; border-bottom: 1px solid var(--wp-line); border-radius: var(--wp-radius) var(--wp-radius) 0 0; background: transparent; line-height: 48px; white-space: nowrap; overflow: hidden; }
.bm_h h2, .bm_h h3, .bm_h .xs2 { font-size: 16px !important; font-weight: 500; color: var(--wp-text); }
.bm_h h2 a, .bm_h h3 a { color: var(--wp-text); }
.bm_h .o { width: 24px; }
.bm_h .o img, .bm_h .o em { margin-top: 15px; background: none; color: var(--wp-text-3); }
.bm_c { padding: 14px 16px; }
.bmw { border-color: var(--wp-border); }
.bmw .bm_h { border: 0; border-bottom: 1px solid var(--wp-line); background: transparent; }
.bmw .bm_h a { color: var(--wp-blue); }
.bml .bm_h { padding-top: 0; border-bottom: 0; background: transparent; }
.bmn { padding: 12px 16px; border-color: transparent; background: var(--wp-blue-soft); }
.bw0 { border: 0 !important; background: transparent; box-shadow: none !important; }
.bw0 > .bm_h { padding-left: 0; padding-right: 0; }
.bn { margin-bottom: 16px; }
.fl { border: 1px solid var(--wp-border); border-radius: var(--wp-radius); background: var(--wp-surface); }
.fl .bm { border: 0; box-shadow: none; }
.fl .bm_h { border-width: 0 0 1px; border-color: var(--wp-line); background: transparent; }
.bm2 .bm2_b { border-color: var(--wp-border); border-radius: var(--wp-radius); }
.nvhm { display: inline-block; width: 18px; height: 22px !important; color: var(--wp-text-3) !important; }
#uhd { padding-top: 16px; border: 1px solid var(--wp-border); border-bottom: 0; border-radius: var(--wp-radius) var(--wp-radius) 0 0; background: var(--wp-surface); }
#uhd .tb a { border-width: 0; background: transparent; }
#uhd .tb .a a { border: 0; border-bottom: 2px solid var(--wp-blue-fill); }
#uhd .mn a { color: var(--wp-text-2); }

/* tabs */
.tb { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 2px 8px; margin-top: 12px; padding: 0; border-bottom: 1px solid var(--wp-line); line-height: 1.2; }
.tb.cl::after { display: none; }
.tb li { float: none; margin: 0 0 -1px; }
.tb a { display: block; padding: 12px 10px 11px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; color: var(--wp-text-2); font-weight: 400; }
.tb a:hover { color: var(--wp-blue); }
.tb .a a, .tb .current a { border-bottom-color: var(--wp-blue-fill); background: transparent; color: var(--wp-blue); font-weight: 500; }
.tb .y { float: none; order: 99; margin-left: auto; }
.tb .y + .y { margin-left: 0; }
.tb .y a { border: 0; }
.tb .o, .tb .o a { height: auto; line-height: 1; border: 0; background: var(--wp-accent-fill); border-radius: 6px; }
.tb .o { margin: 0 0 6px; }
.tb .o a { padding: 9px 16px; color: #FFFFFF !important; }
/* tabs wrapped in a list inside .tb (the smilies picker renders div.tb > ul > li) line up the same way */
.tb > ul { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 2px 8px; margin: 0; padding: 0; list-style: none; }
.tb > ul > li { float: none; margin: 0 0 -1px; }
/* smilies picker: compact tabs at the top of the popup */
.sllt .tb.tb_s { margin: 0 0 8px; padding: 0 6px; }
.sllt .tb.tb_s a { padding: 8px 10px 9px; font-size: 14px; white-space: nowrap; }
.tb_h { background: transparent; }
.tbmu { padding: 12px 0; border-bottom: 1px solid var(--wp-line); line-height: 30px; }
.tbmu a { display: inline-block; margin-right: 4px; padding: 0 12px; border-radius: 6px; color: var(--wp-text-2); }
.tbmu a:hover { background: var(--wp-surface-3); color: var(--wp-blue); }
.tbmu .a { background: var(--wp-blue-soft); color: var(--wp-blue) !important; font-weight: 500; }
.tbmu .pipe { display: none; }
/* my threads: type switch + search, then status chips + forum filter + view switch */
.wp-mytb { display: flex; flex-direction: column; gap: 12px; margin: 0 0 20px; }
.wp-mytb__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; }
.wp-seg { display: inline-flex; flex: none; gap: 2px; padding: 3px; border-radius: 12px; background: var(--wp-surface-2); }
.wp-seg a { display: inline-flex; align-items: center; height: 32px; padding: 0 16px; border-radius: 9px; color: var(--wp-text-2) !important; font-size: 14px; white-space: nowrap; transition: background-color .2s, color .2s, box-shadow .2s; }
.wp-seg a:hover { color: var(--wp-text) !important; }
.wp-seg a.a { background: var(--wp-bg); color: var(--wp-text) !important; font-weight: 500; box-shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 0 0 1px var(--wp-line); }
:root[data-theme="dark"] .wp-seg a.a { background: var(--wp-surface-3); box-shadow: none; }
.wp-mytb__search { position: relative; display: flex; align-items: center; gap: 8px; }
.wp-mytb__search > .wp-i { position: absolute; left: 12px; width: 16px; height: 16px; color: var(--wp-text-3); pointer-events: none; }
.wp-mytb__search .px { width: 220px; height: 38px; padding-left: 36px; border-radius: 10px; }
.wp-mytb__search .pn { height: 38px; margin: 0; padding: 0 16px; border-radius: 10px; }
.wp-mytb__chips { display: flex; flex: 1; gap: 6px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.wp-mytb__chips::-webkit-scrollbar { display: none; }
.wp-mytb__chips a { display: inline-flex; flex: none; align-items: center; height: 32px; padding: 0 14px; border-radius: 16px; background: var(--wp-surface-2); color: var(--wp-text-2) !important; font-size: 13px; white-space: nowrap; transition: background-color .2s, color .2s; }
.wp-mytb__chips a:hover { background: var(--wp-surface-3); color: var(--wp-text) !important; }
.wp-mytb__chips a.a { background: var(--wp-blue-soft); color: var(--wp-blue) !important; font-weight: 500; }
.wp-mytb__tools { display: flex; flex: none; align-items: center; gap: 10px; }
.wp-mytb__tools .ps { width: 150px; height: 34px; border-radius: 10px; font-size: 13px; }
/* theme dropdown built from select[data-wp-select] by wp.js (the native select stays in the page, hidden) */
select[data-wp-select-ready] { display: none !important; }
.wp-select { position: relative; display: inline-flex; }
.wp-select__btn { display: inline-flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 150px; max-width: 220px; height: 34px; margin: 0; padding: 0 10px 0 14px; box-sizing: border-box; border: 1px solid var(--wp-border); border-radius: 10px; background: var(--wp-bg); color: var(--wp-text); font: inherit; font-size: 13px; cursor: pointer; transition: border-color .2s, box-shadow .2s; }
.wp-select__btn span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.wp-select__btn .wp-i { flex: none; width: 14px; height: 14px; color: var(--wp-text-3); transition: transform .2s; }
.wp-select__btn:hover { border-color: var(--wp-border-2); }
.wp-select.is-open .wp-select__btn { border-color: var(--wp-blue); box-shadow: 0 0 0 3px var(--wp-blue-soft); }
.wp-select.is-open .wp-select__btn .wp-i { transform: rotate(180deg); }
.wp-select__menu { min-width: 100%; max-height: 320px; overflow-y: auto; }
.wp-select__group { padding: 8px 12px 4px; color: var(--wp-text-3); font-size: 12px; }
.wp-select__group:not(:first-child) { margin-top: 4px; border-top: 1px solid var(--wp-line); }
.wp-select__opt { width: 100%; border: 0; background: transparent; font: inherit; text-align: left; cursor: pointer; }
.wp-select__opt.is-sub { padding-left: 26px; }
.wp-select__opt.is-on { color: var(--wp-blue) !important; font-weight: 500; }
@media (max-width: 767px) {
	.wp-mytb__search { flex: 1; }
	.wp-mytb__search .px { flex: 1; width: auto; min-width: 0; }
	.wp-mytb__tools { width: 100%; justify-content: space-between; }
	.wp-mytb__tools .ps, .wp-mytb__tools .wp-select { flex: 1; }
	.wp-mytb__tools .wp-select__btn { width: 100%; max-width: none; }
}
.tbms { border: 1px dashed var(--wp-danger); border-radius: var(--wp-radius-sm); background: var(--wp-danger-soft); }
.tbx .a { border: 0; border-radius: 6px; background: var(--wp-surface-3); }
.ttp { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; padding: 0; border: 0; background: transparent; }
.ttp.bm { border: 0; box-shadow: none; }
.ttp.cl::after { display: none; }
.ttp li { float: none; padding: 0; }
.ttp a, .ttp strong { float: none; display: inline-flex; align-items: center; gap: 6px; height: 30px; margin: 0; padding: 0 12px; box-sizing: border-box; border: 0; border-radius: 6px; background: var(--wp-surface-2); color: var(--wp-text-2); font-size: 13px; font-weight: 400; }
.ttp a:hover { background: var(--wp-surface-3); color: var(--wp-blue); }
.ttp .a a, .ttp .a a:hover { padding: 0 12px; background: var(--wp-blue-soft); color: var(--wp-blue) !important; background-image: none !important; font-weight: 500; }
.ttp .num { margin-left: 2px; padding: 0 5px; border-radius: 4px; background: var(--wp-surface-3); color: var(--wp-text-3) !important; font-size: 11px; line-height: 16px; }
.ttp .a .num { background: rgba(0, 174, 236, .16); color: inherit !important; }
.ttp .pipe { display: none; }

/* pagination */
.pgs { clear: both; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 16px 0; }
.pgs.cl::after { display: none; }
.pgs .pg { order: 3; margin-left: auto; }
.pg, .pgb { line-height: 1; }
.pg { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px; float: right; }
.pg a, .pg strong, .pgb a, .pg label { float: none; display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 38px; margin: 0; padding: 0 12px; box-sizing: border-box; border: 1px solid var(--wp-border); border-radius: 8px; background: var(--wp-bg); color: var(--wp-text); font-size: 14px; font-weight: 400; }
.pg a:hover, .pgb a:hover { border-color: var(--wp-blue); color: var(--wp-blue); }
.pg strong { border-color: var(--wp-blue-fill); background: var(--wp-blue-fill); color: #FFFFFF; }
.pg a.nxt { padding: 0 14px; }
.pg a.nxt::after { margin-left: 6px; border-left-color: currentColor; }
.pg a.prev::after { border-right-color: currentColor; }
.pgb a { gap: 6px; padding: 0 14px; }
.pgb a::before { margin-right: 0; border-right-color: currentColor; }
.pg label { padding: 0 6px; cursor: default; }
.pg label .px { width: 42px; height: 26px; padding: 0 4px; line-height: 24px; border-radius: 6px; text-align: center; }
#pgt .pg, #pgt .pgb { margin-top: 0; }
.pgbtn, #autopbn { display: block; margin: 20px 0; }
.pgbtn a, a#autopbn, #autopbn { display: flex; align-items: center; justify-content: center; gap: 8px; height: 42px; margin: 0; border: 1px solid var(--wp-border); border-radius: 8px; background: var(--wp-bg); box-shadow: none; color: var(--wp-text-2); font-size: 14px; letter-spacing: 0; line-height: 42px; }
.pgbtn a:hover, #autopbn:hover { border-color: var(--wp-blue); background: var(--wp-bg); color: var(--wp-blue); }
.bac { color: var(--wp-text-2); }

/* lists */
.xl li { margin: 4px 0; }
.xl em, .xl em a { color: var(--wp-text-3); }
.xl ol li:before, ol.xl li:before { background: var(--wp-fill); }
.xld dt { font-weight: 500; }
.xld .atc img { border: 0; border-radius: 6px; }
.ml li { padding: 0 6px 10px; }
.ml span, .ml span a { color: var(--wp-text-3); }
.mla .c { background: var(--wp-surface-2); border-radius: 8px; box-shadow: none; }
.mla .c a { background: var(--wp-surface); border-radius: 6px; }
.mlp img { border: 0; border-radius: 6px; background: var(--wp-surface-2); }
.lk img { border-radius: 6px; }
.appl ul { margin: 4px 0; }
.appl li { height: 40px; line-height: 40px; font-size: 14px; }
.appl li a { display: block; padding: 0 10px; border-radius: 6px; color: var(--wp-text-2); }
.appl li a:hover { background: var(--wp-surface-3); color: var(--wp-blue); }
.appl span a { color: var(--wp-text-3); }
.tbn { margin: 0; }
.tbn .mt { padding: 6px 10px 10px; font-size: 13px; color: var(--wp-text-3); font-weight: 500; border: 0; }
.tbn ul { margin: 0; }
.tbn li { height: auto; margin: 0 0 2px; border: 0; }
.tbn ul a { display: block; height: auto; padding: 0 12px; border-radius: 10px; line-height: 40px; color: var(--wp-text-2); transition: background-color .2s, color .2s; }
.tbn ul a:hover { background: var(--wp-surface-2); color: var(--wp-text); }
.tbn li.a { margin: 0 0 2px; padding: 0; border: 0; background: transparent; }
.tbn li.a a { background: var(--wp-blue-soft); color: var(--wp-blue); font-weight: 500; }
.tbn h2.mt { border-bottom: 0; }

/* popup menus */
.p_pop, .p_pof, .sllt { padding: 6px; border: 1px solid var(--wp-border); border-radius: 8px; background: var(--wp-elevated); box-shadow: var(--wp-shadow-lg); }
.p_pop a { padding: 8px 12px; border: 0; border-radius: 6px; color: var(--wp-text-2); }
.p_pop a:hover, .p_pop a.a, #sctype_menu .sca { background: var(--wp-surface-3); color: var(--wp-blue); }
.p_pop .blk a, .blk a { padding: 0; border-radius: 0; }
/* showMenu focuses the first link of a menu when it opens, which Chrome paints as :focus-visible */
.p_pop a:focus-visible, .p_pof a:focus-visible { outline: none; }
.blk a:hover { background: none; color: var(--wp-blue); }
.p_opt { padding: 12px; }
.h_pop { border-top: 1px solid var(--wp-border); }
.pop_moremenu li { border-bottom-color: var(--wp-line); }
.tip { border: 1px solid var(--wp-border); border-radius: 8px; background: var(--wp-elevated); box-shadow: var(--wp-shadow); color: var(--wp-text-2); }
.tip_horn { display: none; }
.card { border-color: var(--wp-border); border-radius: 8px; background: var(--wp-elevated); }
.card_gender_0, .card_gender_1, .card_gender_2 { background: var(--wp-elevated) !important; }
.card_info { border-color: var(--wp-line); }
.card .o a { border: 1px solid var(--wp-border); border-radius: 6px; background: var(--wp-surface-2); }

/* popup window */
.fwinmask { max-width: 100vw; }
.fwin .t_l, .fwin .t_c, .fwin .t_r, .fwin .m_l, .fwin .m_r, .fwin .b_l, .fwin .b_c, .fwin .b_r { width: 0 !important; height: 0 !important; padding: 0; background: none !important; opacity: 0; }
.fwin .m_c { padding: 0; border-radius: 12px; background: var(--wp-elevated); box-shadow: 0 0 0 1px var(--wp-border), var(--wp-shadow-lg); }
[id^="fwin_"][id$="_cover"], [id$="_cover"] { -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
.flb { height: auto; padding: 18px 20px 12px; line-height: 26px; }
/* float windows stay where they open (wp.js stops Discuz's title-bar drag); showWindow sets an inline move cursor on the bar */
.fwinmask .flb, .fwinmask [id^="fctrl_"] { cursor: default !important; }
.flb::after { content: ""; display: block; clear: both; }
:root[data-theme="dark"] .fwin, :root[data-theme="dark"] .p_pop, :root[data-theme="dark"] .p_pof, :root[data-theme="dark"] .wp-dd__menu, :root[data-theme="dark"] .wp-search__panel { --wp-input-bg: #2A2C2F; }
.flb em { color: var(--wp-text); font-size: 17px; font-weight: 500; }
.flb span { color: var(--wp-text-3); }
.flb span a, .flb strong { color: var(--wp-text-2); }
.flbc { display: grid; place-items: center; width: 30px; height: 30px; margin-left: 8px; border-radius: 6px; background: var(--wp-surface-3); color: var(--wp-text-2); font-size: 18px; line-height: 30px; text-indent: -999px; overflow: hidden; position: relative; }
.flbc:before { position: absolute; inset: 0; color: var(--wp-text-2); text-indent: 0; font-weight: 400; line-height: 30px; }
.flbc:hover { background: var(--wp-border); }
.m_c .c { padding: 0 20px 16px; }
.m_c .o { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px 16px; height: auto; padding: 14px 20px; border-top: 1px solid var(--wp-line); border-radius: 0 0 12px 12px; background: var(--wp-surface-2); }
.m_c .o > .y, .m_c .o > .z { float: none; margin: 0; }
.m_c .o .pn { margin: 0; }
.m_c .o > .pn.z { order: 1; margin-left: auto; }
.m_c .o > a.y { color: var(--wp-text-3); font-size: 13px; }
.m_c .o > a.y:hover { color: var(--wp-blue); }
.m_c .tb { padding: 0 20px; }
.f_c .list { border-top-color: var(--wp-line); }
.nfl .f_c { max-width: 580px; width: auto; margin: 40px auto; padding: 28px; border: 1px solid var(--wp-border); border-radius: var(--wp-radius-lg); background: var(--wp-surface); box-shadow: var(--wp-shadow); }
.altw { width: 380px; max-width: 100%; }
.alert_right, .alert_error, .alert_info { font-size: 15px; color: var(--wp-text); }
.alert_btnleft a, .alert_btn a { color: var(--wp-blue); }
.fsb, .m_c .fsb { border-top: 1px solid var(--wp-line); background: var(--wp-surface-2); }
.lgfm { border-right-color: var(--wp-line); }
.pm .flb { background: var(--wp-surface-2); }
.pm .flb em { text-shadow: none; }
.pm_tac, .pm .c { background: var(--wp-surface-2); }
.pmd { border: 0; border-radius: 12px 12px 12px 4px; background: var(--wp-surface); box-shadow: var(--wp-shadow-sm); }
.pmm .pmd { background: var(--wp-blue-soft); border-radius: 12px 12px 4px 12px; box-shadow: none; }
.pmt, .pmm .pmt { display: none; }
.pmfl { border-color: var(--wp-border); background: var(--wp-surface); }
.pmfl p .ol { color: var(--wp-text); }
.pmfl strong { color: var(--wp-text); }

/* tables */
.dt { border-top: 1px solid var(--wp-line); }
.dt th { background: var(--wp-surface-2); color: var(--wp-text-2); font-weight: 500; }
.dt td, .dt th { padding: 10px 8px; border-bottom-color: var(--wp-line); }
.tdat, .tdat th, .tdat td { border-color: var(--wp-border); }
.t_table, .t_table td { border-color: var(--wp-border) !important; }
.tl .th { padding: 0 16px; border-bottom: 1px solid var(--wp-line); background: transparent; }
.tl .th td, .tl .th th { height: 44px; padding-top: 0; padding-bottom: 0; color: var(--wp-text-3); font-size: 13px; white-space: nowrap; vertical-align: middle; }
.tl .bm_c { padding: 0 16px; }
.tl th, .tl td { padding: 10px 0; border-bottom-color: var(--wp-line); vertical-align: middle; }
.tl td.by cite, .tl td.by em, .tl td.num a, .tl td.num em { line-height: 18px; }
.tl .num { width: 76px; }
.tl tr:hover th, .tl tr:hover td { background-color: transparent; }
.tl tbody:hover th a.xst { color: var(--wp-blue); }
.tl th a:visited, .tl td.fn a:visited { color: var(--wp-text-2); }
.tl td em, .tl td em a { color: var(--wp-text-3); }
.tl th em, .tl th em a { color: var(--wp-blue); }
.xst { font-size: 15px; font-weight: 500; }
.tl .tdpre { border-radius: 4px; background: var(--wp-accent-fill); }
.tl .tf a { margin-right: 6px; }
.tf .showmenu:hover { border-color: var(--wp-border); }
#forumnewshow { background: var(--wp-blue-soft) !important; }
.tl #forumnewshow a { border-color: transparent; color: var(--wp-blue); }
#hiddenthread, #hiddenpoststip { border-color: var(--wp-border); background: var(--wp-notice-soft); }
.tsm .a a { color: var(--wp-text); }
.fl_tb td { padding: 14px 0; }
.fl_row td { border-top: 1px solid var(--wp-line); }
.fl_icn_g svg path, .fl_icn svg path { transition: fill .2s; }
.oll li { color: var(--wp-text-2); }

/* focus & plugin notice */
.focus { right: 16px; bottom: 16px; width: 300px; border-radius: var(--wp-radius); overflow: hidden; box-shadow: var(--wp-shadow-lg); }
.focus .bm { margin: 0; }


/* floating tools (back to list / top) */
#scrolltop.wp-fab { position: fixed; cursor: default; -webkit-tap-highlight-color: transparent; left: auto !important; right: 24px !important; bottom: 36px; z-index: 150; display: flex; flex-direction: column; gap: 8px; width: auto; margin: 0; border: 0; border-radius: 0; background: none; opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .2s ease, transform .2s ease, visibility .2s; }
#scrolltop.wp-fab[style*="visible"] { opacity: 1; transform: none; }
#scrolltop.wp-fab span { display: block; }
#scrolltop.wp-fab a { -webkit-tap-highlight-color: transparent; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; box-sizing: border-box; border: 1px solid var(--wp-line); border-radius: 14px; background: var(--wp-elevated); color: var(--wp-text-2); box-shadow: 0 8px 20px -10px rgba(0, 0, 0, .22); cursor: pointer; transition: color .2s, border-color .2s, background-color .2s, transform .15s; }
/* hover colour only where a pointer really hovers: on phones it stuck after a tap */
@media (hover: hover) {
	#scrolltop.wp-fab a:hover { border-color: var(--wp-blue); color: var(--wp-blue); }
}
#scrolltop.wp-fab a:active { background-color: var(--wp-surface-3); transform: scale(.94); }
#scrolltop.wp-fab a:before { display: none; }
#scrolltop.wp-fab a .wp-i { width: 20px; height: 20px; }
#scrolltop.wp-fab a b { display: none; }

/* ---------- 4. Footer & app tab bar ---------- */
#ft.wp-footer { position: relative; max-width: none; margin: 56px 0 0; padding: 0; overflow: hidden; box-sizing: border-box; border: 0; border-top: 1px solid var(--wp-line); background: var(--wp-surface-2); color: var(--wp-text-3); font-size: 13px; line-height: 1.8; }
.wp-footer__inner { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 20px 48px; max-width: var(--wp-maxw); margin: 0 auto; padding: 32px var(--wp-gutter) 18px; box-sizing: border-box; }
.wp-footer__brand { flex: 1 1 280px; max-width: 480px; }
.wp-footer__name { display: flex; align-items: center; gap: 8px; color: var(--wp-text); font-size: 18px; font-weight: 600; }
.wp-footer__name .wp-i { width: 24px; height: 24px; color: var(--wp-accent); }
/* 页脚图标 (style variable wp_footer_icon): an image in place of the TV icon, same height, wide logos keep their shape */
.wp-footer__icon { display: block; flex: none; width: auto; max-width: 96px; height: 24px; object-fit: contain; }
.wp-footer__about { margin: 4px 0 0; color: var(--wp-text-3); }
.wp-footer__kao { margin: 6px 0 0; color: var(--wp-accent); font-size: 13px; letter-spacing: .02em; }
#flk.wp-footer__links { display: flex; flex: 1 1 320px; flex-wrap: wrap; justify-content: flex-end; gap: 4px 20px; float: none; }
#flk.wp-footer__links a { display: inline-flex; align-items: center; height: 28px; padding: 0; color: var(--wp-text-2); font-size: 13px; }
#flk.wp-footer__links a:hover { color: var(--wp-blue); }
#flk img, .wp-footer img { vertical-align: -2px; margin-right: 3px; }
.wp-footer a { color: var(--wp-text-3); }
.wp-footer a:hover { color: var(--wp-blue); }
.wp-footer__bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 2px 24px; max-width: var(--wp-maxw); margin: 0 auto; padding: 12px var(--wp-gutter) 28px; box-sizing: border-box; border-top: 1px solid var(--wp-border); color: var(--wp-text-3); font-size: 12px; }
.wp-footer__icp { display: flex; flex-wrap: wrap; gap: 0 12px; margin: 0; }
#frt.wp-footer__copy { display: flex; flex-wrap: wrap; gap: 0 12px; float: none; color: var(--wp-text-3); }
#frt.wp-footer__copy p { margin: 0; }
/* 页脚补充文案 (style variable wp_footer_extra, HTML allowed) after the copyright line */
.wp-footer__extra { color: var(--wp-text-3); }
.wp-footer__extra a { color: var(--wp-text-2); }
.wp-footer__extra a:hover { color: var(--wp-accent); }
#frt strong a { color: var(--wp-text-2); }
.wp-footer__word { display: none; }
.wp-statcode { display: inline-block; }
.wp-tabbar { display: none; }

/* ---------- 5. Sections, tabs, chips ---------- */
.wp-sec { margin: 0 0 32px; }
.wp-sec__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; min-height: 34px; }
.wp-sec__title { display: flex; align-items: center; gap: 8px; margin: 0; color: var(--wp-text); font-size: 22px; font-weight: 500; line-height: 1.3; }
.wp-sec__title .wp-i { width: 24px; height: 24px; }
.wp-sec__title a { color: inherit; }
.wp-sec__title a:hover { color: var(--wp-blue); }
.wp-sec__title em { color: var(--wp-text-3); font-size: 14px; font-style: normal; font-weight: 400; }
.wp-sec__tools { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.wp-sec__more { display: inline-flex; align-items: center; gap: 2px; height: 30px; padding: 0 10px; box-sizing: border-box; border: 1px solid var(--wp-border); border-radius: 6px; color: var(--wp-text-2) !important; font-size: 13px; white-space: nowrap; }
.wp-sec__more:hover { border-color: var(--wp-blue); color: var(--wp-blue) !important; }
.wp-sec__more .wp-i { width: 14px; height: 14px; }
.wp-sec__sub { color: var(--wp-text-3); font-size: 12px; }
.wp-sec__sub a { color: var(--wp-text-2); }

.wp-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.wp-chips li { list-style: none; flex: none; }
.wp-chips__sep { width: 1px; align-self: stretch; margin: 6px 4px; background: var(--wp-border); }
.wp-chip { display: inline-flex; align-items: center; gap: 5px; height: 30px; padding: 0 12px; box-sizing: border-box; border: 0; border-radius: 15px; background: var(--wp-surface-2); color: var(--wp-text-2) !important; font-size: 13px; white-space: nowrap; text-decoration: none !important; transition: background-color .2s, color .2s; }
.wp-chip:hover { background: var(--wp-surface-3); color: var(--wp-blue) !important; }
.wp-chip .wp-i { width: 14px; height: 14px; }
.wp-chip img { max-height: 18px; }
.wp-chip.is-active { background: var(--wp-blue-soft); color: var(--wp-blue) !important; font-weight: 500; }
.wp-chip.is-active .wp-chip__num { background: rgba(0, 174, 236, .16); color: inherit; }
.wp-chip--sm { height: 22px; padding: 0 8px; border-radius: 4px; font-size: 12px; }
.wp-chip--accent { background: var(--wp-accent-soft); color: var(--wp-accent) !important; font-weight: 500; }
.wp-chip[hidden] { display: none; }
.wp-chip__num { padding: 0 5px; border-radius: 4px; background: var(--wp-bg); color: var(--wp-text-3); font-size: 11px; font-style: normal; line-height: 16px; }
.wp-chip--glass { background: rgba(255, 255, 255, .18); color: #FFFFFF !important; }
.wp-badge2 { display: inline-flex; align-items: center; height: 20px; padding: 0 6px; border-radius: 4px; background: rgba(0, 0, 0, .5); color: #FFFFFF !important; font-size: 12px; font-style: normal; font-weight: 400; line-height: 1; white-space: nowrap; }
.wp-badge2--digest { background: var(--wp-accent-fill); }
.wp-badge2--pin { background: var(--wp-blue-fill); }
.wp-price { padding: 1px 6px; border-radius: 4px; background: var(--wp-notice-soft); color: var(--wp-notice); font-size: 11px; font-style: normal; font-weight: 500; }
.wp-tag { display: inline-flex; align-items: center; gap: 4px; height: 22px; padding: 0 8px; box-sizing: border-box; border-radius: 4px; background: var(--wp-surface-3); color: var(--wp-text-2) !important; font-size: 12px; font-style: normal; font-weight: 400; line-height: 1; white-space: nowrap; }
.wp-tag .wp-i { width: 13px; height: 13px; }
.wp-tag--accent { background: var(--wp-accent-soft); color: var(--wp-accent) !important; }

.wp-tabs { display: inline-flex; align-items: center; gap: 4px; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.wp-tabs::-webkit-scrollbar { display: none; }
.wp-tabs__item { display: inline-flex; align-items: center; flex: none; height: 32px; padding: 0 12px; border-radius: 6px; color: var(--wp-text-2) !important; font-size: 14px; white-space: nowrap; cursor: pointer; transition: background-color .2s, color .2s; }
.wp-tabs__item:hover { color: var(--wp-blue) !important; }
.wp-tabs__item.is-active { background: var(--wp-blue-soft); color: var(--wp-blue) !important; font-weight: 500; }
.wp-tabs--sm .wp-tabs__item { height: 28px; padding: 0 10px; font-size: 13px; }
.wp-segs { display: inline-flex; align-items: center; gap: 4px; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.wp-segs::-webkit-scrollbar { display: none; }
.wp-segs__item { display: inline-flex; align-items: center; height: 32px; padding: 0 12px; border-radius: 6px; color: var(--wp-text-2) !important; font-size: 14px; white-space: nowrap; cursor: pointer; }
.wp-segs__item:hover { color: var(--wp-blue) !important; }
.wp-segs__item.is-active { background: var(--wp-blue-soft); color: var(--wp-blue) !important; font-weight: 500; }
.wp-segs--sm .wp-segs__item { height: 28px; padding: 0 10px; font-size: 12px; }
.wp-subtabs { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin: 0 0 16px; }
.wp-subtabs__left { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; }
.wp-subtabs__right { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.wp-subtabs__count { display: none; }
.wp-subtabs__date { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px; border-radius: 6px; background: var(--wp-surface-2); color: var(--wp-text-2); font-size: 13px; }
.wp-subtabs__date em { cursor: pointer; }
.wp-subdesc { margin: -8px 0 16px; color: var(--wp-text-3); font-size: 13px; }
.wp-viewswitch { display: inline-flex; gap: 2px; padding: 2px; border-radius: 6px; background: var(--wp-surface-3); }
.wp-viewswitch .wp-iconbtn { width: 30px; height: 28px; border-radius: 4px; }
.wp-viewswitch .wp-iconbtn .wp-i { width: 16px; height: 16px; }
.wp-viewswitch .wp-iconbtn:hover { background: transparent; }
.wp-viewswitch .wp-iconbtn.is-on { background: var(--wp-bg); color: var(--wp-blue); box-shadow: var(--wp-shadow-sm); }

.wp-hscroll { position: relative; }
.wp-hscroll__track { overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; }
.wp-hscroll__track::-webkit-scrollbar { display: none; }
.wp-hscroll .wp-chips { flex-wrap: nowrap; }
.wp-hscroll__btn, .wp-channels__arrow { position: absolute; top: 50%; z-index: 3; display: grid; place-items: center; width: 30px; height: 30px; padding: 0; border: 1px solid var(--wp-border); border-radius: 6px; background: var(--wp-elevated); color: var(--wp-text-2); box-shadow: var(--wp-shadow); cursor: pointer; transform: translateY(-50%); transition: opacity .2s; }
.wp-hscroll__btn--prev, .wp-channels__arrow--prev { left: 0; }
.wp-hscroll__btn--next, .wp-channels__arrow--next { right: 0; }
.wp-hscroll__btn:disabled, .wp-channels__arrow:disabled { opacity: 0 !important; pointer-events: none; }
@media (hover: none) { .wp-hscroll__btn, .wp-channels__arrow { display: none; } }
.wp-typechips { margin: 0 0 16px; }

/* channel filter: sort tabs + forum chips (sticks under the top bar on the home page) */
.wp-filter { display: flex; align-items: center; gap: 14px; min-height: 56px; margin: 0 0 20px; }
.wp-filter--sticky { position: sticky; top: var(--wp-bar-h); z-index: 120; margin-bottom: 20px; border-image: linear-gradient(0deg, var(--wp-bg), var(--wp-bg)) fill 0 / 0 / 0 100vmax; }
.wp-filter--sticky.is-stuck { border-image-source: linear-gradient(0deg, var(--wp-border) 1px, var(--wp-bg) 1px); }
.wp-filter-stuck #hd.wp-top .wp-top__bar { box-shadow: none; }
.wp-filter__tabs { display: flex; align-items: center; gap: 2px; flex: none; }
.wp-filter__tab, .wp-filter__chip, .wp-filter__all { display: inline-flex; align-items: center; justify-content: center; flex: none; height: 36px; box-sizing: border-box; border-radius: 18px; font-size: 14px; line-height: 1; white-space: nowrap; text-decoration: none !important; transition: background-color .2s, color .2s, border-color .2s; }
.wp-filter__tab { padding: 0 16px; color: var(--wp-text-2) !important; font-size: 15px; font-weight: 500; }
.wp-filter__tab:hover { background: var(--wp-surface-3); color: var(--wp-text) !important; }
.wp-filter__sep { flex: none; width: 1px; height: 20px; background: var(--wp-border); }
.wp-filter__scroll { position: relative; flex: 1 1 auto; min-width: 0; }
.wp-filter__chips { display: flex; align-items: center; gap: 8px; }
.wp-filter__chip { max-width: 168px; padding: 0 14px; overflow: hidden; background: var(--wp-surface-2); color: var(--wp-text-2) !important; text-overflow: ellipsis; }
.wp-filter__chip:hover { background: var(--wp-surface-3); color: var(--wp-text) !important; }
.wp-filter__all { gap: 6px; margin-left: auto; padding: 0 14px 0 12px; border: 1px solid var(--wp-border); color: var(--wp-text-2) !important; }
.wp-filter__all .wp-i { width: 16px; height: 16px; }
.wp-filter__all:hover { border-color: var(--wp-border-2); color: var(--wp-text) !important; }
.wp-filter__tab.is-active, .wp-filter__chip.is-active, .wp-filter__all.is-active { border-color: transparent; background: var(--wp-accent-fill); color: #FFFFFF !important; }
.wp-filter__nav { position: absolute; top: 0; bottom: 0; z-index: 2; display: flex; align-items: center; width: 72px; padding: 0; border: 0; color: var(--wp-text-2); cursor: pointer; transition: opacity .2s; }
.wp-filter__nav--prev { left: 0; justify-content: flex-start; background: linear-gradient(90deg, var(--wp-bg) 45%, rgba(255, 255, 255, 0)); }
.wp-filter__nav--next { right: 0; justify-content: flex-end; background: linear-gradient(270deg, var(--wp-bg) 45%, rgba(255, 255, 255, 0)); }
:root[data-theme="dark"] .wp-filter__nav--prev { background: linear-gradient(90deg, var(--wp-bg) 45%, rgba(23, 24, 26, 0)); }
:root[data-theme="dark"] .wp-filter__nav--next { background: linear-gradient(270deg, var(--wp-bg) 45%, rgba(23, 24, 26, 0)); }
.wp-filter__nav > span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--wp-elevated); box-shadow: 0 0 0 1px var(--wp-border), 0 2px 6px rgba(0, 0, 0, .06); transition: color .2s; }
.wp-filter__nav .wp-i { width: 16px; height: 16px; stroke-width: 2.2; }
.wp-filter__nav:hover > span { color: var(--wp-text); }
.wp-filter__nav:disabled { opacity: 0; pointer-events: none; }
@media (hover: none) { .wp-filter__nav { display: none; } }

/* ---------- Feed & video-style cards ---------- */
.wp-feed { display: grid; grid-template-columns: repeat(auto-fill, minmax(var(--wp-card-w), 1fr)); gap: 24px var(--wp-feed-gap); }
.wp-feed.is-masonry { grid-auto-rows: 1px; row-gap: 0; }
.wp-feed.is-masonry > * { align-self: start; margin-bottom: 24px; }
.wp-feed[data-view="list"] { grid-template-columns: minmax(0, 1fr); gap: 0; }
.wp-note { position: relative; display: flex; flex-direction: column; min-width: 0; }
.wp-note.wp-appear { animation: wp-fade .45s ease both; }
.wp-note__cover { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 6px; background: var(--wp-media-bg); isolation: isolate; text-decoration: none !important; }
.wp-note__cover img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; transition: opacity .35s ease, transform .5s ease; }
.wp-note:hover .wp-note__cover img { transform: scale(1.04); }
.wp-js .wp-note__cover:not(.is-loaded) img { opacity: 0; }
.wp-note:not(.is-textnote) .wp-note__cover:not(.is-loaded) { background: linear-gradient(110deg, var(--wp-surface-2) 30%, var(--wp-surface-3) 50%, var(--wp-surface-2) 70%); background-size: 200% 100%; animation: wp-shimmer 1.6s linear infinite; }
.is-textnote .wp-note__cover, .wp-note__cover.is-broken { animation: none; }
.wp-note__cover.is-broken img { opacity: 0 !important; }
.wp-note__cover.is-broken::before { content: ""; position: absolute; inset: 0; background: var(--wp-surface-2) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' fill='none' stroke='%239499A0' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3e%3crect x='3' y='4' width='18' height='16' rx='2.5'/%3e%3ccircle cx='9' cy='9.5' r='1.8'/%3e%3cpath d='M4 18l5-5 3.5 3.5L16 13l4 4'/%3e%3c/svg%3e") no-repeat center; }
.wp-note__stats { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; display: flex; align-items: center; gap: 12px; height: 38px; padding: 16px 8px 6px; box-sizing: border-box; border-radius: 0 0 6px 6px; background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, .8)); color: #FFFFFF; font-size: 13px; line-height: 18px; pointer-events: none; }
.wp-note__stat { display: inline-flex; align-items: center; gap: 2px; min-width: 0; white-space: nowrap; font-variant-numeric: tabular-nums; }
.wp-note__stat .wp-i { width: 18px; height: 18px; stroke-width: 1.7; }
.wp-note__stat--end { margin-left: auto; }
.wp-note__text { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 16px 18px; box-sizing: border-box; text-align: left; }
.wp-note__text strong { display: -webkit-box; overflow: hidden; color: inherit; font-size: 17px; font-weight: 600 !important; line-height: 1.5; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.wp-note__text::after { content: "(=・ω・=)"; position: absolute; right: 12px; bottom: 8px; font-size: 13px; letter-spacing: .02em; opacity: .5; }
#nv_search .wp-note a, #nv_search .wp-note a:visited { text-decoration: none; }
#nv_search .wp-note__title, #nv_search .wp-note__title:visited { color: var(--wp-text) !important; }
#nv_search .wp-note__author, #nv_search .wp-note__author:visited { color: var(--wp-text-3) !important; }
.wp-note__text--lock { align-items: center; gap: 8px; color: var(--wp-text-3); text-align: center; }
.wp-note__text--lock::after { content: none; }
.wp-note__text--lock .wp-i { width: 30px; height: 30px; }
.wp-note__text--lock em { font-size: 13px; font-style: normal; }
.wp-note__cover[class*="wp-tone-"] { background: var(--wp-tone-bg); }
.wp-note__cover[class*="wp-tone-"] .wp-note__text { color: var(--wp-tone-ink); }
.wp-tone-0 { --wp-tone-bg: linear-gradient(135deg, #FFD9E4, #FFF3F6); --wp-tone-ink: #AD1C5B; }
.wp-tone-1 { --wp-tone-bg: linear-gradient(135deg, #BFEDFA, #ECFAFE); --wp-tone-ink: #00699D; }
.wp-tone-2 { --wp-tone-bg: linear-gradient(135deg, #FFE0EC, #E1F6FE); --wp-tone-ink: #B8336A; }
.wp-tone-3 { --wp-tone-bg: linear-gradient(135deg, #D9F4FE, #FFEAF1); --wp-tone-ink: #006F9E; }
.wp-tone-4 { --wp-tone-bg: linear-gradient(135deg, #CDEBFA, #F1F9FE); --wp-tone-ink: #005F8A; }
.wp-tone-5 { --wp-tone-bg: linear-gradient(135deg, #FFD6E4, #FFF1F6); --wp-tone-ink: #A3164F; }
:root[data-theme="dark"] .wp-tone-0 { --wp-tone-bg: linear-gradient(135deg, #3F0723, #1E1417); --wp-tone-ink: #FFB3CA; }
:root[data-theme="dark"] .wp-tone-1 { --wp-tone-bg: linear-gradient(135deg, #002F4F, #121A1F); --wp-tone-ink: #80DAF6; }
:root[data-theme="dark"] .wp-tone-2 { --wp-tone-bg: linear-gradient(135deg, #3A1426, #0B2533); --wp-tone-ink: #FFB3CA; }
:root[data-theme="dark"] .wp-tone-3 { --wp-tone-bg: linear-gradient(135deg, #0B2533, #33142A); --wp-tone-ink: #80DAF6; }
:root[data-theme="dark"] .wp-tone-4 { --wp-tone-bg: linear-gradient(135deg, #062A40, #121A1F); --wp-tone-ink: #8FD8F5; }
:root[data-theme="dark"] .wp-tone-5 { --wp-tone-bg: linear-gradient(135deg, #45112A, #1E1417); --wp-tone-ink: #FFA3C2; }
.wp-note__badges { position: absolute; top: 8px; left: 8px; z-index: 2; display: flex; flex-wrap: wrap; gap: 4px; max-width: calc(100% - 52px); pointer-events: none; }
.wp-note__zoom, .wp-note__check { position: absolute; top: 8px; right: 8px; z-index: 3; display: grid; place-items: center; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 6px; background: rgba(0, 0, 0, .5); color: #FFFFFF; cursor: pointer; opacity: 0; transition: opacity .2s ease, background-color .2s; }
.wp-note__zoom .wp-i { width: 16px; height: 16px; }
.wp-note:hover .wp-note__zoom, .wp-note__zoom:focus-visible { opacity: 1; }
.wp-note__zoom:hover { background: rgba(0, 0, 0, .7); }
.wp-note__check { opacity: 1; background: var(--wp-elevated); box-shadow: var(--wp-shadow); }
.wp-note__check input { width: 18px; height: 18px; margin: 0; }
.wp-note__check + .wp-note__footer { position: static; }
.wp-note__check ~ .wp-note__zoom, .wp-note__zoom + .wp-note__check { top: 46px; }
.wp-note__footer { display: flex; flex-direction: column; min-width: 0; padding: 10px 0 0; }
.wp-note__title { display: -webkit-box; height: 44px; overflow: hidden; color: var(--wp-text) !important; font-size: 15px; font-weight: 500; line-height: 22px; text-decoration: none !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; word-break: break-all; transition: color .2s; }
.wp-note__title:hover, .wp-note:hover .wp-note__title { color: var(--wp-blue) !important; }
.wp-note__type { margin-right: 4px; color: var(--wp-tag-link); }
.wp-note__type a { color: inherit; }
.wp-note__extra { margin-top: 4px; }
.wp-note__meta { display: flex; align-items: center; gap: 4px; min-width: 0; height: 17px; margin-top: 4px; color: var(--wp-text-3); font-size: 13px; line-height: 17px; }
.wp-note__author { display: inline-flex; align-items: center; gap: 2px; min-width: 0; color: var(--wp-text-3) !important; text-decoration: none !important; }
.wp-note__author .wp-i, .wp-note__up { flex: none; width: 17px; height: 17px; stroke-width: 1.6; }
.wp-note__author span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.wp-note__author:hover { color: var(--wp-blue) !important; }
.wp-note__author img, .wp-note__anon { display: none; }
.wp-note__date { flex: none; white-space: nowrap; }
.wp-note__like { display: inline-flex; align-items: center; gap: 3px; flex: none; margin-left: auto; color: var(--wp-text-3); font-variant-numeric: tabular-nums; }
.wp-note__like .wp-i { width: 15px; height: 15px; }
.wp-note__more { display: none; }
.wp-feed[data-view="masonry"] .wp-note__cover, .wp-feed.is-masonry .wp-note__cover { aspect-ratio: auto; min-height: 100px; }
.wp-feed[data-view="masonry"] .wp-note__cover img, .wp-feed.is-masonry .wp-note__cover img { position: static; height: auto; min-height: 100px; }
.wp-feed[data-view="masonry"] .is-textnote .wp-note__cover, .wp-feed.is-masonry .is-textnote .wp-note__cover { aspect-ratio: 4 / 3; }
.wp-feed[data-view="list"] .wp-note { display: grid; grid-template-columns: 240px minmax(0, 1fr); align-items: center; gap: 20px; padding: 16px 0; border-bottom: 1px solid var(--wp-line); }
.wp-feed[data-view="list"] .wp-note__footer { padding: 0; }
.wp-feed[data-view="list"] .wp-note__title { height: auto; font-size: 17px; line-height: 1.5; }
.wp-feed[data-view="list"] .wp-note__meta { margin-top: 10px; }
.wp-feed[data-view="list"] .wp-note__more { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; margin-top: 8px; color: var(--wp-text-3); font-size: 12px; }
.wp-feed[data-view="list"] .wp-note__more span, .wp-feed[data-view="list"] .wp-note__more a { display: inline-flex; align-items: center; gap: 4px; color: var(--wp-text-3); }
.wp-feed[data-view="list"] .wp-note__more .wp-i { width: 14px; height: 14px; }
.wp-feed[data-view="list"] .wp-note__zoom { left: 202px; right: auto; top: 24px; }
.wp-feed[data-view="list"] .wp-note__check { top: 24px; left: 8px; right: auto; }
@media (hover: none) { .wp-note__zoom, .wp-nd__nav { display: none !important; } }

/* load more, empty, alerts */
.wp-more { display: flex; justify-content: center; margin: 16px 0 8px; }
.wp-more__btn { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 24px; box-sizing: border-box; border: 1px solid var(--wp-border); border-radius: 8px; background: var(--wp-bg); color: var(--wp-text-2) !important; font-size: 14px; cursor: pointer; transition: border-color .2s, color .2s; }
.wp-more__btn:hover { border-color: var(--wp-blue); color: var(--wp-blue) !important; }
.wp-more__spin { display: none; width: 16px; height: 16px; box-sizing: border-box; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: wp-spin .8s linear infinite; }
.wp-more__btn.is-loading .wp-more__spin { display: block; }
.wp-more.is-end .wp-more__btn { border-color: transparent; background: transparent; color: var(--wp-text-3) !important; pointer-events: none; }
.wp-more:not(.is-end) + .pgs, .wp-more:not(.is-end) + .wp-pages { display: none; }
.wp-pages { justify-content: center; }
.wp-pages .pg { order: 2; margin: 0; }
.wp-pages .pgb { order: 1; }

/* home */
.wp-home { position: relative; }
html.wp-js .wp-pane:not(.is-active) { display: none; }
.wp-announce { display: flex; align-items: center; gap: 10px; margin: 0 0 20px; padding: 0 16px; height: 40px; border-radius: 8px; background: var(--wp-surface-2); color: var(--wp-text-2); font-size: 14px; overflow: hidden; }
.wp-announce > .wp-i { flex: none; width: 18px; height: 18px; color: var(--wp-accent); }
.wp-announce #an { flex: 1; min-width: 0; height: 40px; overflow: hidden; }
.wp-announce #an dl, .wp-announce #an dd, .wp-announce #anc { height: 40px; margin: 0; padding: 0; background: none; }
.wp-announce #ancl li { height: 40px; line-height: 40px; }
.wp-announce #ancl li a, .wp-announce #ancl li span { color: var(--wp-text-2); }
.wp-announce #an, .wp-announce #an * { float: none; text-align: left; }
.wp-announce #ancl li em { color: var(--wp-text-3); font-style: normal; margin-left: 8px; }
.wp-stats { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; margin: 4px 0 24px; padding: 12px 16px; border: 1px solid var(--wp-line); border-radius: 8px; background: var(--wp-surface-2); color: var(--wp-text-3); font-size: 13px; }
.wp-stats > span { display: inline-flex; align-items: baseline; gap: 4px; }
.wp-stats strong { color: var(--wp-text); font-size: 16px; font-weight: 600; font-variant-numeric: tabular-nums; }
.wp-stats__links { margin-left: auto; gap: 12px !important; }
.wp-stats__links a { color: var(--wp-text-2); }
.wp-homeside { margin-top: 16px; }

/* home hero (inside the header on the forum index): photo backdrop, headline, large search */
.wp-hero { position: absolute; inset: 0; z-index: 0; display: flex; align-items: center; justify-content: center; padding: var(--wp-bar-h) 24px 44px; box-sizing: border-box; overflow: hidden; background: #2A2340; background-image: radial-gradient(60% 90% at 12% 18%, rgba(255, 140, 176, .9), rgba(255, 140, 176, 0) 70%), radial-gradient(55% 80% at 88% 24%, rgba(64, 197, 241, .85), rgba(64, 197, 241, 0) 70%), radial-gradient(70% 90% at 50% 110%, rgba(157, 123, 255, .9), rgba(157, 123, 255, 0) 70%); color: #FFFFFF; text-align: center; isolation: isolate; }
.wp-hero__bg { position: absolute; inset: 0; z-index: -2; background: #222222 center 40% / cover no-repeat; filter: saturate(1.06); transform-origin: 50% 40%; animation: wp-hero-in 1.1s ease both, wp-hero-drift 30s ease-in-out 1.1s infinite alternate; }
.wp-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse 55% 48% at 50% 54%, rgba(0, 0, 0, .28), rgba(0, 0, 0, 0) 72%), linear-gradient(180deg, rgba(0, 0, 0, .42) 0, rgba(0, 0, 0, .06) 26%, rgba(0, 0, 0, .06) 62%, rgba(0, 0, 0, .4) 100%); pointer-events: none; }
.wp-hero:not(.has-image)::before { background: linear-gradient(180deg, rgba(0, 0, 0, .2), rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, .12)); }
.wp-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 25px; border-radius: 24px 24px 0 0; background: var(--wp-bg); pointer-events: none; }
/* The banner's height is fractional - it follows how the subtitle wraps - so its bottom edge can straddle a device pixel on a 2x screen
   and a hairline of the photo flashed through while scrolling. The cap above means to bridge that with its bottom: -1px, but the
   banner's own overflow: hidden clips away exactly that overhang. This strip belongs to the header instead: a sibling of the banner,
   outside its clip, painting the join in the page colour whatever the rounding does. */
#hd.has-banner::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: var(--wp-bg); pointer-events: none; }
@keyframes wp-hero-in { from { opacity: 0; transform: scale(1.05); } to { opacity: 1; transform: none; } }
@keyframes wp-hero-drift { from { transform: scale(1); } to { transform: scale(1.07); } }
.wp-hero__inner { display: flex; flex-direction: column; align-items: center; width: 100%; max-width: 760px; }
.wp-hero__title { margin: 0; color: #FFFFFF; font-size: clamp(36px, 2.6vw, 48px); font-weight: 700; line-height: 1.25; letter-spacing: .02em; text-shadow: 0 4px 28px rgba(0, 0, 0, .32); text-wrap: balance; }
.wp-hero__sub { margin: 12px 0 0; color: rgba(255, 255, 255, .92); font-size: 16px; line-height: 1.6; text-shadow: 0 1px 10px rgba(0, 0, 0, .28); text-wrap: balance; }
.wp-hero__search { display: flex; align-items: center; width: 100%; max-width: 680px; height: 60px; margin: 30px 0 0; padding: 0 6px 0 22px; box-sizing: border-box; border-radius: 30px; background: rgba(255, 255, 255, .96); box-shadow: 0 16px 40px -12px rgba(0, 0, 0, .4); transition: background-color .2s, box-shadow .2s; }
.wp-hero__search:focus-within { background: #FFFFFF; box-shadow: 0 0 0 4px rgba(255, 255, 255, .3), 0 16px 40px -12px rgba(0, 0, 0, .4); }
.wp-hero__icon { width: 20px; height: 20px; color: #9499A0; }
.wp-hero__input { flex: 1; min-width: 0; height: 48px; margin: 0; padding: 0 12px; border: 0 !important; border-radius: 0; outline: 0; background: transparent !important; color: #18191C; font-size: 16px; box-shadow: none !important; }
.wp-hero__input::placeholder { color: #9499A0; }
.wp-hero__input::-webkit-search-cancel-button { -webkit-appearance: none; }
.wp-hero__go { flex: none; height: 48px; padding: 0 30px; border: 0; border-radius: 24px; background: var(--wp-accent-fill); color: #FFFFFF; font-size: 15px; font-weight: 500; cursor: pointer; transition: background-color .2s; }
.wp-hero__go:hover { background: var(--wp-accent-hover); }
:root[data-theme="dark"] .wp-hero__search { background: rgba(30, 32, 34, .92); box-shadow: 0 0 0 1px rgba(255, 255, 255, .08), 0 16px 40px -12px rgba(0, 0, 0, .6); }
:root[data-theme="dark"] .wp-hero__search:focus-within { background: #1E2022; box-shadow: 0 0 0 4px rgba(255, 255, 255, .12), 0 16px 40px -12px rgba(0, 0, 0, .6); }
:root[data-theme="dark"] .wp-hero__input { color: var(--wp-text); }
:root[data-theme="dark"] .wp-hero__input::placeholder, :root[data-theme="dark"] .wp-hero__icon { color: var(--wp-text-3); }
.wp-hero__tags { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; max-width: 680px; height: 30px; margin: 20px 0 0; overflow: hidden; }
.wp-hero__tags span { color: rgba(255, 255, 255, .75); font-size: 13px; line-height: 30px; }
.wp-hero__tags a { display: inline-flex; align-items: center; height: 30px; padding: 0 12px; box-sizing: border-box; border: 1px solid rgba(255, 255, 255, .22); border-radius: 15px; background: rgba(255, 255, 255, .12); color: #FFFFFF !important; font-size: 13px; white-space: nowrap; text-decoration: none !important; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); transition: background-color .2s, border-color .2s; }
.wp-hero__tags a:hover { border-color: rgba(255, 255, 255, .4); background: rgba(255, 255, 255, .24); }
.wp-hero__credit { position: absolute; right: 24px; bottom: 46px; display: inline-flex; align-items: center; gap: 6px; max-width: min(360px, 40%); color: rgba(255, 255, 255, .78) !important; font-size: 12px; line-height: 18px; text-decoration: none !important; text-shadow: 0 1px 3px rgba(0, 0, 0, .35); transition: color .2s; }
.wp-hero__credit .wp-i { width: 14px; height: 14px; }
.wp-hero__credit span { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.wp-hero__credit em { flex: none; font-style: normal; opacity: .85; }
.wp-hero__credit:hover { color: #FFFFFF !important; }
/* taller poster: larger headline, search with a soft halo, scroll cue centred on the bottom edge (the credit shares its centre line) */
.wp-hero { padding-bottom: 72px; }
.wp-hero__inner { max-width: 960px; }
.wp-hero__title { font-size: clamp(40px, 3vw, 58px); font-weight: 800; letter-spacing: .03em; text-shadow: 0 6px 32px rgba(0, 0, 0, .34); }
.wp-hero__sub { margin-top: 14px; font-size: 17px; color: rgba(255, 255, 255, .9); }
.wp-hero__search { max-width: 720px; height: 64px; margin-top: 34px; padding: 0 7px 0 24px; border-radius: 32px; box-shadow: 0 0 0 6px rgba(255, 255, 255, .14), 0 20px 48px -16px rgba(0, 0, 0, .45); }
.wp-hero__search:focus-within { box-shadow: 0 0 0 6px rgba(255, 255, 255, .3), 0 20px 48px -16px rgba(0, 0, 0, .45); }
:root[data-theme="dark"] .wp-hero__search { box-shadow: 0 0 0 6px rgba(255, 255, 255, .08), 0 20px 48px -16px rgba(0, 0, 0, .6); }
:root[data-theme="dark"] .wp-hero__search:focus-within { box-shadow: 0 0 0 6px rgba(255, 255, 255, .16), 0 20px 48px -16px rgba(0, 0, 0, .6); }
.wp-hero__go { height: 50px; padding: 0 34px; border-radius: 25px; font-size: 16px; }
.wp-hero__tags { max-width: 720px; margin-top: 24px; }
.wp-hero__more { position: absolute; left: 50%; bottom: 40px; z-index: 1; display: grid; place-items: center; width: 40px; height: 40px; margin-left: -20px; box-sizing: border-box; border: 1px solid rgba(255, 255, 255, .3); border-radius: 50%; background: rgba(255, 255, 255, .12); color: #FFFFFF !important; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); transition: background-color .2s, border-color .2s; }
.wp-hero__more:hover { border-color: rgba(255, 255, 255, .5); background: rgba(255, 255, 255, .24); }
.wp-hero__more .wp-i { width: 20px; height: 20px; animation: wp-hero-bob 2.4s ease-in-out infinite; }
@keyframes wp-hero-bob { 0%, 100% { transform: translateY(-2px); } 50% { transform: translateY(3px); } }
.wp-hero__credit { bottom: 51px; }
/* short windows (laptops, 125% / 150% display scaling) */
@media (min-width: 1024px) and (max-height: 720px) {
	.wp-hero__title { font-size: 34px; }
	.wp-hero__sub { margin-top: 8px; font-size: 15px; }
	.wp-hero__search { height: 50px; margin-top: 22px; }
	.wp-hero__input, .wp-hero__go { height: 40px; }
	.wp-hero__tags { margin-top: 14px; }
	.wp-hero { padding-bottom: 60px; }
	.wp-hero__more { bottom: 30px; }
	.wp-hero__credit { bottom: 41px; }
}
@media (min-width: 1024px) and (max-height: 620px) {
	.wp-hero__title { font-size: 30px; }
	.wp-hero__sub { margin-top: 6px; font-size: 14px; }
	.wp-hero__search { height: 46px; margin-top: 18px; }
	.wp-hero__input, .wp-hero__go { height: 36px; }
	.wp-hero__go { padding: 0 22px; }
	.wp-hero__tags, .wp-hero__tags a { height: 28px; }
	.wp-hero__tags { margin-top: 12px; }
	.wp-hero__tags span { line-height: 28px; }
}

/* home gallery cards: rounder covers, single-line title, avatar + counts */
.wp-feed--home { row-gap: 28px; }
.wp-feed--home .wp-note__cover { aspect-ratio: 16 / 10; border-radius: 12px; }
.wp-feed--home .wp-note__cover::after { content: ""; position: absolute; inset: 0; z-index: 2; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .05); pointer-events: none; }
:root[data-theme="dark"] .wp-feed--home .wp-note__cover::after { box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .05); }
.wp-feed--home .wp-note__stats { display: none; }
.wp-feed--home .wp-note__badges { top: 10px; left: 10px; }
/* 首页推荐不显示 New：首批卡片本就不带，这条管住「加载更多」从导读页追加进来的卡片 */
.wp-feed--home .wp-badge2--new { display: none; }
.wp-feed--home .wp-note__zoom { top: 10px; right: 10px; width: 34px; height: 34px; border-radius: 50%; background: rgba(0, 0, 0, .38); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.wp-feed--home .wp-note__footer { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 12px; padding: 12px 2px 0; }
.wp-feed--home .wp-note__title { grid-column: 1 / -1; display: block; height: 22px; font-size: 15px; line-height: 22px; white-space: nowrap; text-overflow: ellipsis; }
.wp-feed--home .wp-note__meta { height: 22px; margin-top: 8px; font-size: 13px; }
.wp-feed--home .wp-note__up, .wp-feed--home .wp-note__date, .wp-feed--home .wp-note__more a, .wp-feed--home .wp-note__more .wp-note__replies, .wp-feed--home .wp-note__more .wp-note__last { display: none; }
.wp-feed--home .wp-note__author { gap: 8px; color: var(--wp-text-2) !important; }
.wp-feed--home .wp-note__author img { display: block; flex: none; width: 22px; height: 22px; border-radius: 50%; background: var(--wp-surface-3); object-fit: cover; }
.wp-feed--home .wp-note__author:hover { color: var(--wp-blue) !important; }
.wp-feed--home .wp-note__more { display: flex; align-items: center; gap: 14px; margin-top: 8px; color: var(--wp-text-3); font-size: 13px; line-height: 22px; }
.wp-feed--home .wp-note__more span { display: inline-flex; align-items: center; gap: 4px; font-variant-numeric: tabular-nums; }
.wp-feed--home .wp-note__more .wp-i { width: 16px; height: 16px; }

/* forum cards (community pane, sub-forums) */
.wp-forums { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.wp-forums--sm { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.wp-forum { position: relative; display: flex; align-items: flex-start; gap: 12px; min-width: 0; padding: 12px; border: 1px solid var(--wp-border); border-radius: 8px; background: var(--wp-surface); color: var(--wp-text) !important; transition: border-color .2s, box-shadow .2s; }
.wp-forum:hover { border-color: var(--wp-blue); box-shadow: 0 4px 12px -6px rgba(0, 174, 236, .35); }
.wp-forum__icon { position: relative; display: grid; place-items: center; flex: none; width: 52px; height: 52px; overflow: hidden; border-radius: 8px; background: var(--wp-surface-3); color: var(--wp-text-3); }
.wp-forum__icon img { width: 100%; height: 100%; object-fit: cover; }
.wp-forum__icon .wp-i { width: 24px; height: 24px; }
.wp-forum__icon.is-new::after, .wp-forum__new { position: absolute; top: 5px; right: 5px; width: 8px; height: 8px; border-radius: 50%; background: var(--wp-danger); box-shadow: 0 0 0 2px var(--wp-surface); }
.wp-forum__icon.is-new::after { content: ""; }
.wp-forum__body { display: flex; flex-direction: column; gap: 3px; flex: 1; min-width: 0; }
.wp-forum__name { overflow: hidden; color: var(--wp-text) !important; font-size: 15px; font-weight: 500; white-space: nowrap; text-overflow: ellipsis; }
.wp-forum__name:hover { color: var(--wp-blue) !important; }
.wp-forum__desc { display: -webkit-box; overflow: hidden; color: var(--wp-text-3); font-size: 13px; line-height: 1.5; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.wp-forum__body em { color: var(--wp-text-3); font-size: 12px; font-style: normal; }
.wp-forum__last, .wp-forum__subs { overflow: hidden; color: var(--wp-text-3); font-size: 12px; white-space: nowrap; text-overflow: ellipsis; }
.wp-forum__last a, .wp-forum__subs a { color: var(--wp-text-2); }
.wp-subforums { margin-bottom: 24px; }

/* heats & rank & dyn */
.wp-heats { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 16px; }
.wp-heat { margin-bottom: 12px; padding: 14px 16px; border: 1px solid var(--wp-line); border-radius: 8px; background: var(--wp-surface-2); }
.wp-heat:last-child { margin-bottom: 0; }
.wp-heat h3 { display: flex; align-items: center; gap: 4px; margin: 0 0 6px; font-size: 16px; font-weight: 500; }
.wp-heat h3 a { color: var(--wp-text); }
.wp-heat h3 a:hover { color: var(--wp-blue); }
.wp-heat p { color: var(--wp-text-2); font-size: 13px; line-height: 1.75; }
.wp-heat__del { display: inline-grid; place-items: center; color: var(--wp-text-3) !important; }
.wp-heat__del .wp-i { width: 16px; height: 16px; }
.wp-rank { margin: 0; padding: 6px; border: 1px solid var(--wp-line); border-radius: 8px; background: var(--wp-surface-2); counter-reset: wprank; }
.wp-rank li { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 8px; border-radius: 6px; list-style: none; }
.wp-rank li:hover { background: var(--wp-surface-3); }
.wp-rank li::before { counter-increment: wprank; content: counter(wprank); flex: none; display: grid; place-items: center; width: 18px; height: 18px; border-radius: 4px; background: var(--wp-surface-3); color: var(--wp-text-3); font-size: 12px; font-weight: 500; }
.wp-rank li:nth-child(1)::before { background: #FF6699; color: #FFFFFF; }
.wp-rank li:nth-child(2)::before { background: #00AEEC; color: #FFFFFF; }
.wp-rank li:nth-child(3)::before { background: #40C5F1; color: #FFFFFF; }
.wp-rank li a { flex: 1; min-width: 0; overflow: hidden; color: var(--wp-text); white-space: nowrap; text-overflow: ellipsis; }
.wp-rank li a:hover { color: var(--wp-blue); }
.wp-rank li em { flex: none; color: var(--wp-text-3); font-size: 12px; font-style: normal; }
.wp-dyn__panel { display: none; }
.wp-dyn__panels .wp-rank { columns: 2 280px; column-gap: 16px; }
.wp-dyn__panels .wp-rank li { break-inside: avoid; }
#wp-dyn-1:checked ~ .wp-dyn__panels .wp-dyn__panel--1, #wp-dyn-2:checked ~ .wp-dyn__panels .wp-dyn__panel--2, #wp-dyn-3:checked ~ .wp-dyn__panels .wp-dyn__panel--3, #wp-dyn-4:checked ~ .wp-dyn__panels .wp-dyn__panel--4 { display: block; }
#wp-dyn-1:checked ~ .wp-sec__head label[for="wp-dyn-1"], #wp-dyn-2:checked ~ .wp-sec__head label[for="wp-dyn-2"], #wp-dyn-3:checked ~ .wp-sec__head label[for="wp-dyn-3"], #wp-dyn-4:checked ~ .wp-sec__head label[for="wp-dyn-4"] { background: var(--wp-blue-soft); color: var(--wp-blue) !important; font-weight: 500; }
.wp-online.bm, .wp-links.bm { border-radius: 8px; }
.wp-online .bm_h h3 { font-weight: 400; }
.wp-online .bm_h h3 strong { font-weight: 600; }
#onlinelist dt { border-color: var(--wp-line); color: var(--wp-text-3); }
#onlinelist li img { vertical-align: -3px; }

/* ---------- 6. Forum display (region page) ---------- */
.wp-fd { position: relative; }
.wp-fd .bdl { display: none !important; }
.wp-fd.has-side { display: block; }
.wp-fd > .sd { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; width: auto; margin-top: 32px; }
.wp-fbanner { position: relative; height: clamp(100px, 18.5vh, 176px); margin: 0; overflow: hidden; border-radius: 8px 8px 0 0; background: var(--wp-media-bg) center / cover no-repeat; }
.wp-fbanner::after { content: ""; position: absolute; inset: 40% 0 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, .3)); }
.wp-fhead { position: relative; display: flex; align-items: center; gap: 16px; margin: 0 0 20px; padding: 18px 20px; border: 1px solid var(--wp-border); border-radius: 8px; background: var(--wp-surface); }
.wp-fhead.has-banner { border-top: 0; border-radius: 0 0 8px 8px; }
.wp-fhead__icon { display: grid; place-items: center; flex: none; width: 64px; height: 64px; overflow: hidden; border-radius: 12px; background: var(--wp-surface-3); color: var(--wp-text-3); }
.wp-fhead.has-banner .wp-fhead__icon { align-self: flex-start; width: 80px; height: 80px; margin-top: -50px; border: 3px solid var(--wp-surface); border-radius: 16px; box-shadow: var(--wp-shadow); }
.wp-fhead__icon img { width: 100%; height: 100%; object-fit: cover; }
.wp-fhead__icon .wp-i { width: 30px; height: 30px; }
.wp-fhead__main { flex: 1; min-width: 0; }
.wp-fhead__title { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 22px; font-weight: 500; line-height: 30px; }
.wp-fhead__title a { color: var(--wp-text) !important; }
.wp-fhead__title a:hover { color: var(--wp-blue) !important; }
.wp-fhead__stats { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; margin-top: 4px; color: var(--wp-text-3); font-size: 13px; }
.wp-fhead__stats > span { display: inline-flex; align-items: baseline; gap: 3px; }
.wp-fhead__stats > span + span::before { content: ""; align-self: center; width: 1px; height: 10px; margin: 0 12px; background: var(--wp-border); }
.wp-fhead__stats strong { margin: 0; color: var(--wp-text-2); font-size: 13px; font-weight: 500; font-variant-numeric: tabular-nums; }
.wp-fhead__stats .ico_increase, .wp-fhead__stats .ico_fall { align-self: center; width: 14px; height: 14px; margin: 0 0 0 2px; background: currentColor; font-family: inherit; font-size: 0; line-height: 0; transform: none; -webkit-mask: var(--wp-trend) center / contain no-repeat; mask: var(--wp-trend) center / contain no-repeat; }
.wp-fhead__stats .ico_increase::before, .wp-fhead__stats .ico_fall::before { content: none; }
.wp-fhead__stats .ico_increase { color: var(--wp-accent); --wp-trend: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 7 13.5 15.5l-5-5L2 17'/%3E%3Cpath d='M16 7h6v6'/%3E%3C/svg%3E"); }
.wp-fhead__stats .ico_fall { color: var(--wp-text-3); --wp-trend: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 17 13.5 8.5l-5 5L2 7'/%3E%3Cpath d='M16 17h6v-6'/%3E%3C/svg%3E"); }
.wp-fhead__desc { max-width: 820px; margin-top: 6px; color: var(--wp-text-2); font-size: 13px; line-height: 1.7; }
.wp-fhead__mods { margin-top: 2px; color: var(--wp-text-3); font-size: 12px; }
.wp-fhead__mods a { color: var(--wp-tag-link); }
.wp-fhead__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-left: auto; }
.wp-fhead__actions .wp-btn { height: 34px; }
.wp-fhead__actions #a_favorite strong { margin-left: -2px; font-weight: 400; }
.wp-fhead__rules { margin: -8px 0 20px; border: 1px solid var(--wp-line); border-radius: 8px; background: var(--wp-surface-2); }
.wp-fhead__rules summary { display: flex; align-items: center; gap: 6px; padding: 10px 14px; color: var(--wp-text-2); font-size: 14px; list-style: none; cursor: pointer; }
.wp-fhead__rules summary::-webkit-details-marker { display: none; }
.wp-fhead__rules summary .wp-i { width: 16px; height: 16px; color: var(--wp-accent); }
.wp-fhead__rulesbody { padding: 0 14px 12px; color: var(--wp-text-2); font-size: 14px; line-height: 1.8; }
.wp-subchan { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 20px; }
.wp-subchan__label { flex: none; display: inline-flex; align-items: center; height: 30px; color: var(--wp-text-3); font-size: 13px; }
.wp-subchan__list { display: flex; flex-wrap: wrap; gap: 10px; min-width: 0; }
.wp-subchan__item { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px; box-sizing: border-box; border: 1px solid var(--wp-line); border-radius: 15px; background: var(--wp-surface-2); color: var(--wp-text-2) !important; font-size: 13px; white-space: nowrap; text-decoration: none !important; transition: background-color .2s, color .2s, border-color .2s; }
.wp-subchan__item.has-icon { padding-left: 3px; }
.wp-subchan__item img { width: 22px; height: 22px; border-radius: 50%; object-fit: cover; }
.wp-subchan__item em { color: var(--wp-text-3); font-size: 12px; font-style: normal; font-variant-numeric: tabular-nums; }
.wp-subchan__item em b { color: var(--wp-accent); font-weight: 500; }
.wp-subchan__item:hover { border-color: var(--wp-blue); background: var(--wp-blue-soft); color: var(--wp-blue) !important; }
.wp-fd .wp-subtabs { padding-bottom: 12px; border-bottom: 1px solid var(--wp-line); }
.wp-sortsearch { padding: 6px 14px; }
.wp-live.bm { padding: 14px 16px; border-radius: 8px; }
.wp-recommend .bm_c { padding: 14px 16px; }
.wp-listwrap { position: relative; }


/* ---------- Detail helpers ---------- */
/* alerts & empty */
.wp-alert { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 0 0 16px; padding: 10px 14px; border: 0; border-radius: 8px; background: var(--wp-blue-soft); color: var(--wp-text-2); font-size: 14px; }
.wp-alert > .wp-i { flex: none; width: 18px; height: 18px; color: var(--wp-blue); }
.wp-alert strong { color: var(--wp-text); font-weight: 500; }
.wp-alert a { color: var(--wp-blue); }
.wp-alert--warn, .wp-alert--gift { background: var(--wp-notice-soft); }
.wp-alert--ann { background: var(--wp-accent-soft); }
.wp-alert--ann > .wp-i { color: var(--wp-accent); }
.wp-alert--ann a { color: var(--wp-text); }
.wp-alert--ann a:hover { color: var(--wp-accent); }
.wp-alert--warn > .wp-i, .wp-alert--gift > .wp-i { color: var(--wp-notice); }
.wp-alert--gift { align-items: flex-start; }
.wp-alert__body { flex: 1; min-width: 0; }
.wp-alert__body p { margin: 2px 0; line-height: 1.8; }
.wp-alert__actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px !important; }
.wp-alert__meta { margin-left: auto; color: var(--wp-text-3); font-size: 12px; }
#hiddenthread.wp-alert, #hiddenpoststip.wp-alert { justify-content: center; padding: 0; line-height: 42px; border: 0; }
#hiddenthread.wp-alert a, #hiddenpoststip.wp-alert a { height: 42px; line-height: 42px; text-indent: 0; }
.wp-empty { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 56px 16px; border: 0; border-radius: 8px; background: transparent; color: var(--wp-text-3); text-align: center; }
.wp-empty__art { position: relative; display: grid; place-items: center; width: 96px; height: 96px; border-radius: 50%; background: var(--wp-accent-soft); color: var(--wp-accent); }
.wp-empty__art .wp-i { width: 42px; height: 42px; stroke-width: 1.6; }
.wp-empty__art::after { content: "?"; position: absolute; top: 4px; right: 2px; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--wp-blue-fill); color: #FFFFFF; font-size: 14px; font-weight: 700; line-height: 24px; box-shadow: 0 0 0 3px var(--wp-bg); animation: wp-wobble 2.4s ease-in-out infinite; }
.wp-empty p { margin: 0; font-size: 14px; }
.wp-empty p::before { content: "(´･ω･`)"; display: block; margin-bottom: 6px; color: var(--wp-text-4); font-size: 18px; letter-spacing: .04em; }


.wp-modbar { margin: 0 0 16px; border: 1px dashed var(--wp-border-2); border-radius: 8px; background: var(--wp-surface); }
.wp-modbar summary { display: flex; align-items: center; gap: 8px; padding: 10px 14px; color: var(--wp-text-2); font-size: 14px; font-weight: 500; list-style: none; cursor: pointer; }
.wp-modbar summary::-webkit-details-marker { display: none; }
.wp-modbar__arrow { transition: transform .2s; }
.wp-modbar[open] .wp-modbar__arrow { transform: rotate(180deg); }
.wp-modbar__links { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 14px 14px; }
.wp-modbar__links a { padding: 6px 11px; border-radius: 6px; background: var(--wp-surface-2); color: var(--wp-text-2); font-size: 13px; }
.wp-modbar__links a:hover { background: var(--wp-accent-soft); color: var(--wp-accent); }
/* post ops */
.wp-postops.po { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin: 14px 0 0; padding: 8px 10px; border: 1px solid var(--wp-border); border-radius: 8px; background: var(--wp-surface); opacity: 1; }
.wp-postops .pob, .wp-reply__foot .pob { display: flex; flex-wrap: wrap; align-items: center; gap: 2px; line-height: 1; }
.pob em { display: flex; flex-wrap: wrap; align-items: center; gap: 2px; float: none; font-style: normal; }
.pob p { display: flex; flex-wrap: wrap; gap: 2px; float: none; }
.pob p:empty { display: none; }
.wp-postops .pob a, .wp-reply__foot .pob a, .pob p a { display: inline-flex; align-items: center; gap: 5px; height: 32px; margin: 0; padding: 0 10px; float: none; border-radius: 6px; background: transparent; color: var(--wp-text-2); font-size: 13px; white-space: nowrap; }
.wp-postops .pob a:hover, .wp-reply__foot .pob a:hover { background: var(--wp-surface-2); color: var(--wp-text); }
.pob em a:before { display: none; }
.wp-postops .wp-i, .wp-reply__foot .wp-i { width: 16px; height: 16px; }
.wp-postops .showmenu::after, .wp-reply__foot .showmenu::after { display: none; }
#fj_btn { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 6px; font-size: 14px; transform: rotate(-90deg); }
#fj_btn::before { margin-right: 0; }
#fj_btn:hover { background: var(--wp-surface-3); color: var(--wp-blue); }
.hin { opacity: 1; }
.wp-extra { margin-top: 14px; }
.wp-extra:empty { display: none; }
.wp-panel { padding: 16px; border: 1px solid var(--wp-line); border-radius: 8px; background: var(--wp-surface); box-shadow: var(--wp-shadow-sm); }
.wp-panel__title { margin: 0 0 10px; color: var(--wp-text); font-size: 15px; font-weight: 500; }
.wp-online-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #22C55E; box-shadow: 0 0 0 3px rgba(34, 197, 94, .2); }
.wp-authorcard__profile.pls { width: auto; margin: 12px 0 0; overflow: visible; border: 0; background: none; }
.wp-authorcard__profile .tns { padding: 10px 0; border-radius: 8px; background: var(--wp-surface-2); }
.wp-authorcard__profile .tns table { width: 100%; }
.wp-authorcard__profile .tns th, .wp-authorcard__profile .tns td { width: auto !important; border: 0 !important; text-align: center; color: var(--wp-text-3); }
.wp-authorcard__profile .tns p { color: var(--wp-text); font-size: 16px !important; font-weight: 500; }
.wp-authorcard__profile .tns a { color: var(--wp-text); }
.wp-authorcard__profile p, .wp-authorcard__profile .pil, .wp-authorcard__profile .o { margin: 8px 0; }
.wp-authorcard__profile dl.pil { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; font-size: 12px; }
.wp-authorcard__profile .pil dt, .wp-authorcard__profile .pil dd { float: none; width: auto; height: auto; margin: 0; overflow: visible; line-height: 1.6; }
.wp-authorcard__profile .pil dt { color: var(--wp-text-3); }
.wp-authorcard__profile .pil dd { color: var(--wp-text-2); }
.wp-authorcard__profile img { max-width: 100%; }
.wp-authorcard__btns { display: flex; align-items: center; gap: 8px; margin-top: 14px; }
.wp-authorcard__btns .wp-btn { flex: 1; }
.wp-authorcard__btns .wp-iconbtn { background: var(--wp-surface-2); border-radius: 999px; }
.wp-authorcard__line { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--wp-border); color: var(--wp-text-3); font-size: 12px; }
.wp-authorcard__line em { font-style: normal; }
.wp-authorcard__num { margin-left: auto; color: var(--wp-text-3) !important; font-weight: 700; }
.wp-authorcard__links { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; margin-top: 8px; font-size: 12px; }
.wp-authorcard__links a { color: var(--wp-text-3); }
.wp-authorcard__links a:hover { color: var(--wp-accent); }
.wp-cp { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.cp_pls a { float: none; margin: 0; padding: 3px 9px; border-radius: 4px; background: var(--wp-surface-2); color: var(--wp-text-2); font-size: 12px; line-height: 1.4; }
.wp-linklist { margin: 0; padding: 0; }
.wp-linklist li { display: flex; flex-direction: column; gap: 2px; padding: 8px 0; border-bottom: 1px dashed var(--wp-border); list-style: none; }
.wp-linklist li:last-child { border-bottom: 0; }
.wp-linklist a { overflow: hidden; color: var(--wp-text); white-space: nowrap; text-overflow: ellipsis; }
.wp-linklist a:hover { color: var(--wp-accent); }
.wp-linklist em { color: var(--wp-text-3); font-size: 12px; font-style: normal; }
.wp-collect-rate { margin-top: 14px; }

/* ---------- 7. Thread detail: picture stage, sticky info panel, more wallpapers below ---------- */
.wp-thread { position: relative; padding-top: 8px; }
.wp-vp.pl { display: grid; grid-template-columns: minmax(0, 1fr) var(--wp-vp-side, 360px); grid-template-areas: "stage side" "main side"; grid-template-rows: auto minmax(0, 1fr); align-items: start; gap: clamp(20px, 1.46vw, 28px) clamp(24px, 1.875vw, 36px); max-width: none; margin: 0 auto 48px; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
html.widthauto .wp-vp.pl { max-width: clamp(1360px, 91.67vw, 2350px); }
.wp-vp.is-textonly.pl, html:not(.wp-js) .wp-vp.pl { grid-template-areas: "main side"; grid-template-rows: auto; }
.wp-vp__stage { grid-area: stage; min-width: 0; }
.wp-vp.is-textonly .wp-vp__stage, html:not(.wp-js) .wp-vp__stage { display: none; }
.wp-vp__main { grid-area: main; min-width: 0; }
.wp-vp__side { grid-area: side; display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.wp-vp__side.is-sticky { position: sticky; top: calc(var(--wp-bar-h) + 20px); }
.pl .wp-vp__main table, .wp-cmt table { table-layout: auto; }

/* info panel: title & meta */
.wp-vp__head { position: relative; margin: 0; padding: 0; }
.wp-vp__title { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin: 0; color: var(--wp-text); font-size: 22px; font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; }
.wp-vp__title #thread_subject { flex-basis: 100%; }
.wp-vp__title .wp-vp__badge { height: 22px; font-size: 13px; font-weight: 500; }
.wp-vp__type { display: inline-flex; align-items: center; height: 22px; padding: 0 6px; border-radius: 4px; background: var(--wp-blue-soft); color: var(--wp-blue) !important; font-size: 13px; font-weight: 400; line-height: 1; }
.wp-vp__meta { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; margin-top: 8px; color: var(--wp-text-3); font-size: 13px; line-height: 20px; }
.wp-vp__stat { display: inline-flex; align-items: center; gap: 3px; color: var(--wp-text-3) !important; white-space: nowrap; font-variant-numeric: tabular-nums; }
.wp-vp__stat .wp-i { width: 16px; height: 16px; }
a.wp-vp__stat:hover { color: var(--wp-blue) !important; }
.wp-vp__badge { display: inline-flex; align-items: center; height: 20px; padding: 0 6px; border-radius: 4px; background: var(--wp-accent-soft); color: var(--wp-accent); font-size: 12px; }
.wp-vp__badge.is-gray { background: var(--wp-surface-3); color: var(--wp-text-3); }
/* status bits (moderating, hidden, heat, cells) sit in the meta row directly, so an empty or hidden-only status adds no gap */
.wp-vp__status { display: contents; }
.wp-vp__status .psave { margin: 0; padding: 0 6px; border: 1px dashed var(--wp-border-2); border-radius: 4px; background: none; }
.wp-vp__status a[onclick*="copyThreadUrl"] { display: none; }
.wp-vp__head #threadstamp { position: absolute; top: -14px; right: 0; z-index: 5; width: auto; height: auto; pointer-events: none; }
.wp-vp__head #threadstamp img { position: static; max-width: 88px; }

/* picture stage: a soft mat that follows the picture's aspect ratio (set by wp.js), a colour glow taken from the picture, the picture inset with a real shadow */
.wp-vp .wp-nd__media { position: relative; width: 100%; aspect-ratio: var(--wp-media-ratio, 16 / 9); min-height: 320px; max-height: calc(100vh - var(--wp-bar-h) - 56px); overflow: hidden; border-radius: 22px; background: var(--wp-surface-2); isolation: isolate; }
.wp-vp .wp-nd__media::after { content: ""; position: absolute; inset: 0; z-index: 2; border-radius: inherit; box-shadow: inset 0 0 0 1px var(--wp-line); pointer-events: none; }
@media (min-width: 1024px) { .wp-vp.is-multi .wp-nd__media { max-height: calc(100vh - var(--wp-bar-h) - 134px); } }
.wp-nd__stage { position: absolute; inset: 0; overflow: hidden; }
.wp-nd__backdrop { position: absolute; inset: 12% 16%; z-index: -1; border-radius: 40%; background-position: center; background-size: cover; filter: blur(64px) saturate(1.6); opacity: 0; transition: opacity .8s ease; }
.wp-nd__backdrop.is-ready { opacity: .6; }
:root[data-theme="dark"] .wp-nd__backdrop.is-ready { opacity: .4; }
.wp-nd__track { position: relative; z-index: 1; display: flex; height: 100%; transition: transform .45s cubic-bezier(.2, .8, .2, 1); will-change: transform; }
.wp-nd__slide { display: flex; align-items: center; justify-content: center; flex: 0 0 100%; height: 100%; padding: clamp(20px, 2.4vw, 44px); box-sizing: border-box; container-type: size; }
.wp-nd__slide img { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; border-radius: 12px; box-shadow: 0 28px 56px -26px rgba(12, 16, 24, .55), 0 2px 8px rgba(12, 16, 24, .08); cursor: zoom-in; -webkit-user-drag: none; }
.wp-nd__slide img[style*="--r"] { width: min(100cqw, 100cqh * var(--r)); max-width: none; max-height: none; }
:root[data-theme="dark"] .wp-nd__slide img { box-shadow: 0 28px 56px -24px rgba(0, 0, 0, .8), 0 0 0 1px rgba(255, 255, 255, .04); }
.wp-nd__slide.is-guest img { cursor: pointer; }
.wp-nd__back { display: none !important; }
.wp-nd__tool, .wp-nd__nav { display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .8); color: #18191C !important; box-shadow: 0 6px 18px -8px rgba(0, 0, 0, .3); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); cursor: pointer; transition: background-color .2s, opacity .25s, transform .25s; }
.wp-nd__tool:hover, .wp-nd__nav:hover { background: #FFFFFF; transform: scale(1.06); }
:root[data-theme="dark"] .wp-nd__tool, :root[data-theme="dark"] .wp-nd__nav { background: rgba(40, 42, 45, .82); color: #E3E5E7 !important; }
:root[data-theme="dark"] .wp-nd__tool:hover, :root[data-theme="dark"] .wp-nd__nav:hover { background: #34363A; }
.wp-nd__tool .wp-i, .wp-nd__nav .wp-i { width: 18px; height: 18px; }
.wp-nd__nav { position: absolute; top: 50%; z-index: 3; width: 44px; height: 44px; margin-top: -22px; opacity: 0; }
.wp-nd__media:hover .wp-nd__nav { opacity: 1; }
.wp-nd__nav:disabled { opacity: 0 !important; pointer-events: none; }
.wp-nd__nav--prev { left: 18px; }
.wp-nd__nav--next { right: 18px; }
.wp-vp:not(.is-multi) .wp-nd__nav { display: none; }
.wp-nd__tools { position: absolute; top: 16px; right: 16px; z-index: 3; display: flex; align-items: center; gap: 8px; opacity: 0; transition: opacity .25s; }
.wp-nd__media:hover .wp-nd__tools, .wp-nd__tools:focus-within { opacity: 1; }
@media (hover: none) { .wp-nd__tools { opacity: 1; } }
.wp-nd__count { height: 28px; padding: 0 11px; border-radius: 14px; background: rgba(255, 255, 255, .8); color: #18191C; font-size: 12px; font-weight: 500; line-height: 28px; font-variant-numeric: tabular-nums; -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
:root[data-theme="dark"] .wp-nd__count { background: rgba(40, 42, 45, .82); color: #E3E5E7; }
.wp-nd__count:empty, .wp-nd__count[hidden] { display: none; }
.wp-nd__thumbs { position: relative; display: flex; gap: 10px; margin: 12px 0 0; padding: 2px; overflow-x: auto; scrollbar-width: none; }
.wp-nd__thumbs::-webkit-scrollbar { display: none; }
.wp-nd__thumbs[hidden] { display: none; }
.wp-nd__thumb { position: relative; flex: none; width: 64px; height: 64px; padding: 0; overflow: hidden; border: 0; border-radius: 12px; background: var(--wp-surface-2); cursor: pointer; opacity: .55; transition: opacity .2s; }
.wp-nd__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.wp-nd__thumb::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 2px transparent; transition: box-shadow .2s; }
.wp-nd__thumb:hover { opacity: .85; }
.wp-nd__thumb.is-active { opacity: 1; }
.wp-nd__thumb.is-active::after { box-shadow: inset 0 0 0 2px var(--wp-accent), inset 0 0 0 4px var(--wp-bg); }
.wp-vp.is-textonly .wp-nd__media, html:not(.wp-js) .wp-nd__media, html:not(.wp-js) .wp-nd__thumbs { display: none; }

/* info panel: actions — like, favourite and comments as soft pills; share and more as round buttons */
#p_btn.wp-vp__bar { display: block; margin: 0; padding: 0; border: 0; line-height: normal; text-align: left; }
.wp-vp__acts { display: flex; align-items: center; gap: 8px; }
.wp-vp__acts > .wp-dd { display: flex; flex: none; }
#p_btn.wp-vp__bar .wp-vp__act { margin: 0; border: 0; vertical-align: middle; white-space: nowrap; }
#p_btn .wp-vp__act { display: inline-flex; flex: 1; align-items: center; justify-content: center; gap: 5px; min-width: 0; height: 42px; padding: 0 8px; box-sizing: border-box; border-radius: 14px; background-color: var(--wp-surface-2); color: var(--wp-text-2) !important; font-size: 13px; font-weight: 500; line-height: 1; cursor: pointer; transition: background-color .2s, color .2s; }
#p_btn .wp-dd > .wp-vp__act, #p_btn a.wp-vp__act[data-wp-scroll], #p_btn .wp-vp__act[data-wp-copy] { flex: none; width: 42px; padding: 0; }
#p_btn .wp-dd > .wp-vp__act span, #p_btn a.wp-vp__act[data-wp-scroll] span { display: none; }
#p_btn .wp-vp__act .wp-i { flex: none; width: 19px; height: 19px; stroke-width: 1.8; transition: transform .2s; }
#p_btn .wp-vp__act span { overflow: hidden; padding: 0; color: inherit; text-overflow: ellipsis; font-variant-numeric: tabular-nums; }
#p_btn .wp-vp__act:hover, #p_btn .wp-dd.is-open > .wp-vp__act { background-color: var(--wp-accent-soft); color: var(--wp-accent) !important; }
#p_btn .wp-vp__act:active .wp-i { transform: scale(.86); }
#p_btn #recommend_add.is-on, #p_btn .wp-vp__act.is-on { background-color: var(--wp-accent-soft); color: var(--wp-accent) !important; }
#p_btn em[class*="fico-"], #p_btn img { display: none; }
#p_btn .wp-dd__menu a.wp-dd__item { display: flex; margin: 0; padding: 0 12px; border-radius: 6px; background: transparent; vertical-align: baseline; }
#p_btn .wp-dd__menu a.wp-dd__item:hover { background: var(--wp-surface-3); }
#p_btn .wp-dd__item span { padding: 0; }
.wp-vp__bar .wp-dd__menu { min-width: 180px; }
.wp-vp__bar .wp-dd__menu > .wp-dd__sep:first-child { display: none; }
.wp-vp__bar .wp-dd__item span { margin-left: auto; color: var(--wp-text-3); font-size: 12px; }
.wp-vp__bar .wp-share { margin: 6px 6px 2px; font-size: 13px; }

/* info panel: download card (wp.js moves it here from the first post), wallpaper spec, author */
.wp-vp__dl:not(:has(> .wp-netdisk:not([hidden]))) { display: none; }
.wp-vp__dl .wp-netdisk { margin: 0; border: 0; border-radius: 16px; }
#wp-netdisk { scroll-margin-top: calc(var(--wp-header-h) + 16px); }
.wp-nd__body > .wp-netdisk { margin: 16px 0 0; }
.wp-vp.is-textonly .wp-spec { display: none; }
.wp-spec { margin: 0; padding: 14px; border: 0; border-radius: 16px; background: var(--wp-surface-2); }
.wp-spec__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.wp-spec__head strong { color: var(--wp-text); font-size: 14px; font-weight: 600; }
.wp-spec__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin: 0; }
.wp-spec__grid > div { min-width: 0; padding: 8px 6px; border-radius: 10px; background: var(--wp-bg); text-align: center; }
.wp-spec__grid dt { color: var(--wp-text-3); font-size: 12px; }
.wp-spec__grid dd { overflow: hidden; margin: 2px 0 0; color: var(--wp-text); font-size: 13px; font-weight: 500; white-space: nowrap; text-overflow: ellipsis; font-variant-numeric: tabular-nums; }
.wp-palette { display: flex; align-items: center; gap: 6px; }
.wp-palette[hidden] { display: none; }
.wp-palette__list { display: flex; flex-wrap: wrap; gap: 4px; }
.wp-palette__sw { width: 18px; height: 18px; padding: 0; border: 1px solid rgba(127, 127, 127, .25); border-radius: 50%; cursor: pointer; transition: transform .15s ease; }
.wp-palette__sw:hover { transform: scale(1.2); }
.wp-author { margin: 0; border-radius: 16px; background: var(--wp-surface-2); }
/* summary sits in the details element's shadow slot, so border-radius: inherit would give 0 — set it explicitly */
.wp-author__sum { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 16px; list-style: none; cursor: pointer; transition: background-color .2s; }
details.wp-author[open] > .wp-author__sum { border-radius: 16px 16px 0 0; }
.wp-author__sum::-webkit-details-marker { display: none; }
details.wp-author > .wp-author__sum:hover { background: var(--wp-surface-3); }
.wp-author.is-static .wp-author__sum { cursor: default; }
.wp-author__avatar { flex: none; width: 36px; height: 36px; }
.wp-author__avatar img { display: block; width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }
.wp-author__meta { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.wp-author__name { display: flex; align-items: center; gap: 6px; min-width: 0; color: var(--wp-text); font-size: 14px; line-height: 20px; }
.wp-author__name strong { overflow: hidden; font-weight: 600; white-space: nowrap; text-overflow: ellipsis; }
.wp-author__name img { flex: none; max-height: 14px; }
.wp-author__name .wp-online-dot { position: static; flex: none; width: 7px; height: 7px; margin: 0; box-shadow: none; }
.wp-author__meta > em { overflow: hidden; color: var(--wp-text-3); font-size: 12px; font-style: normal; line-height: 18px; white-space: nowrap; text-overflow: ellipsis; }
.wp-author__meta > em a, .wp-author__meta > em font { color: var(--wp-text-3) !important; }
.wp-author__arrow { flex: none; width: 16px; height: 16px; color: var(--wp-text-3); transition: transform .2s; }
.wp-author[open] .wp-author__arrow { transform: rotate(180deg); }
.wp-author__actions { display: flex; gap: 8px; padding: 4px 12px 12px; }
.wp-author__btn { display: inline-flex; flex: 1; align-items: center; justify-content: center; gap: 4px; min-width: 0; height: 32px; padding: 0 8px; border-radius: 10px; background: var(--wp-bg); color: var(--wp-text-2) !important; font-size: 13px; white-space: nowrap; transition: background-color .2s, color .2s; }
.wp-author__btn .wp-i { flex: none; width: 15px; height: 15px; }
.wp-author__btn:hover { color: var(--wp-accent) !important; }
.wp-author__btn.is-primary { background: var(--wp-accent-fill); color: #FFFFFF !important; }
.wp-author__btn.is-primary:hover { background: var(--wp-accent-hover); color: #FFFFFF !important; }
.wp-author .wp-authorcard__profile { margin: 0; padding: 0 12px 12px; }
.wp-author .wp-authorcard__profile .tns { background: var(--wp-bg); }

/* first post: description, tags, post tools (the text block hides itself when the post is only pictures) */
.wp-postwrap.is-first, .wp-ndpost { display: block; }
.wp-nd__hooks:empty { display: none; }
.wp-nd__body { position: relative; padding: 0 0 4px; }
.wp-nd__content.pct, .wp-cmt__content.pct { padding: 0; }
.wp-nd__content .t_fsz { min-height: 0; }
.wp-vp .t_fsz.wp-empty-text { display: none; }
.wp-nd__content .t_fsz > table { width: 100%; }
.wp-nd__content .t_f { color: var(--wp-text); font-size: 15px; line-height: 26px; }
.wp-nd__content .t_f img:not([smilieid]) { max-width: 100% !important; height: auto !important; border-radius: 8px; }
.wp-vp.has-media .wp-nd__content .wp-inmedia { display: none !important; }
.wp-vp.has-media .wp-nd__content .t_f br + br:last-child { display: none; }
.wp-nd__content .pattl { padding: 8px 0 0; }
.wp-nd__content .pattl:not(:has(> :not(.wp-inmedia):not(script))) { display: none; }
.wp-nd__content .ptg { display: none; }
.wp-nd__tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 16px 0 0; }
.wp-nd__tags a { display: inline-flex; align-items: center; height: 30px; padding: 0 14px; border-radius: 15px; background: var(--wp-surface-2); color: var(--wp-text-2) !important; font-size: 13px; line-height: 30px; transition: color .2s, background-color .2s; }
.wp-nd__tags a::before { content: "#"; margin-right: 2px; color: var(--wp-text-4); }
.wp-nd__tags a:hover { background: var(--wp-accent-soft); color: var(--wp-accent) !important; }
.wp-nd__kw { color: var(--wp-text-3); font-size: 13px; }
.wp-nd__body .wp-postops.po { justify-content: flex-start; margin: 16px 0 0; padding: 0; border: 0; background: none; }
.wp-nd__related { margin: 16px 0 0; }
.wp-nd__related h3 { margin: 0 0 4px; color: var(--wp-text-2); font-size: 14px; font-weight: 500; }
.wp-nd__body .sign { margin-top: 12px; }
.wp-nd__body .wp-extra { margin-top: 12px; }
.wp-nd__body > .wp-cp { margin-top: 12px; }

/* more wallpapers from the same forum (full width under the thread) */
.wp-vp__more { max-width: none; margin: 0 auto 40px; padding: 32px 0 0; border-top: 1px solid var(--wp-line); }
html.widthauto .wp-vp__more { max-width: clamp(1360px, 91.67vw, 2350px); }
.wp-vp__more .wp-sec__head { margin-bottom: 18px; }
.wp-vp__more .wp-sec__title { font-size: 20px; }
.wp-vp__morelist.wp-feed { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.wp-vp__morelist > :nth-child(n+9) { display: none; }
@media (min-width: 1680px) {
	html.widthauto .wp-vp__morelist.wp-feed { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	html.widthauto .wp-vp__morelist > :nth-child(n+9) { display: flex; }
}
.wp-scard { display: flex; gap: 10px; min-width: 0; }
.wp-scard__pic { position: relative; flex: none; display: block; width: 141px; height: 80px; overflow: hidden; border-radius: 6px; background: var(--wp-media-bg); }
.wp-scard__pic img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.wp-scard:hover .wp-scard__pic img { transform: scale(1.05); }
.wp-scard__dur { position: absolute; right: 4px; bottom: 4px; display: inline-flex; align-items: center; gap: 2px; height: 18px; padding: 0 4px; border-radius: 2px; background: rgba(0, 0, 0, .6); color: #FFFFFF; font-size: 12px; line-height: 18px; }
.wp-scard__dur .wp-i { width: 12px; height: 12px; }
.wp-scard__info { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.wp-scard__title { display: -webkit-box; overflow: hidden; color: var(--wp-text) !important; font-size: 15px; font-weight: 500; line-height: 20px; -webkit-line-clamp: 2; -webkit-box-orient: vertical; word-break: break-all; transition: color .2s; }
.wp-scard:hover .wp-scard__title { color: var(--wp-blue) !important; }
.wp-scard__up { display: flex; align-items: center; gap: 2px; min-width: 0; margin-top: auto; color: var(--wp-text-3) !important; font-size: 13px; line-height: 18px; white-space: nowrap; }
.wp-scard__up span { overflow: hidden; text-overflow: ellipsis; }
.wp-scard__up .wp-i { flex: none; width: 16px; height: 16px; }
.wp-scard__up:hover { color: var(--wp-blue) !important; }
.wp-scard__stats { display: flex; gap: 10px; color: var(--wp-text-3); font-size: 13px; line-height: 18px; }
.wp-scard__stats span { display: inline-flex; align-items: center; gap: 2px; }
.wp-scard__stats .wp-i { width: 16px; height: 16px; }

/* cloud-drive download card (reply-to-view content of the first post) */
.wp-netdisk { margin: 0 0 12px; padding: 14px; border: 1px solid var(--wp-line); border-radius: 8px; background: var(--wp-surface-2); }
.wp-netdisk[hidden] { display: none; }
.wp-netdisk__head { display: flex; align-items: center; gap: 10px; }
.wp-netdisk__icon { flex: none; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 8px; background: var(--wp-accent-soft); color: var(--wp-accent); }
.wp-netdisk__icon .wp-i { width: 18px; height: 18px; }
.wp-netdisk.is-locked .wp-netdisk__icon { background: var(--wp-bg); color: var(--wp-text-2); }
.wp-netdisk__title { flex: 1; min-width: 0; }
.wp-netdisk__title strong { display: block; color: var(--wp-text); font-size: 14px; font-weight: 500; line-height: 20px; }
.wp-netdisk__title p { margin: 0; overflow: hidden; color: var(--wp-text-3); font-size: 12px; line-height: 18px; white-space: nowrap; text-overflow: ellipsis; }
.wp-netdisk__body { margin-top: 12px; }
.wp-netdisk__body:empty { display: none; }
.wp-netdisk__list { display: flex; flex-direction: column; gap: 8px; }
.wp-netdisk__item { display: flex; align-items: center; gap: 10px; min-height: 58px; padding: 10px; box-sizing: border-box; border-radius: 8px; background: var(--wp-bg); }
.wp-netdisk__logo { --wp-nd-c: var(--wp-text-3); flex: none; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 8px; background: var(--wp-nd-c); color: #FFFFFF; font-size: 15px; font-weight: 700; line-height: 1; }
.wp-netdisk__logo.is-long { font-size: 11px; letter-spacing: -.02em; }
.wp-netdisk__logo .wp-i { width: 18px; height: 18px; }
.wp-netdisk__item[data-kind="baidu"] .wp-netdisk__logo { --wp-nd-c: #2B6DF6; }
.wp-netdisk__item[data-kind="ali"] .wp-netdisk__logo { --wp-nd-c: #FF6699; }
.wp-netdisk__item[data-kind="quark"] .wp-netdisk__logo { --wp-nd-c: #5B5BF6; }
.wp-netdisk__item[data-kind="p123"] .wp-netdisk__logo { --wp-nd-c: #1E9BF0; }
.wp-netdisk__item[data-kind="lanzou"] .wp-netdisk__logo { --wp-nd-c: #0EA5A4; }
.wp-netdisk__item[data-kind="tianyi"] .wp-netdisk__logo { --wp-nd-c: #E8453C; }
.wp-netdisk__item[data-kind="p115"] .wp-netdisk__logo { --wp-nd-c: #2F80ED; }
.wp-netdisk__item[data-kind="xunlei"] .wp-netdisk__logo { --wp-nd-c: #1B8CFF; }
.wp-netdisk__item[data-kind="uc"] .wp-netdisk__logo { --wp-nd-c: #F25D8E; }
.wp-netdisk__item[data-kind="mcloud"] .wp-netdisk__logo { --wp-nd-c: #1296DB; }
.wp-netdisk__item[data-kind="weiyun"] .wp-netdisk__logo { --wp-nd-c: #0FB36B; }
.wp-netdisk__item[data-kind="jianguo"] .wp-netdisk__logo { --wp-nd-c: #0F9D58; }
.wp-netdisk__item[data-kind="ctfile"] .wp-netdisk__logo { --wp-nd-c: #00AEEC; }
.wp-netdisk__item[data-kind="onedrive"] .wp-netdisk__logo { --wp-nd-c: #0078D4; }
.wp-netdisk__item[data-kind="gdrive"] .wp-netdisk__logo { --wp-nd-c: #1FA463; }
.wp-netdisk__item[data-kind="mega"] .wp-netdisk__logo { --wp-nd-c: #D9272E; }
.wp-netdisk__item[data-kind="dropbox"] .wp-netdisk__logo { --wp-nd-c: #0061FE; }
.wp-netdisk__meta { flex: 1; min-width: 0; }
.wp-netdisk__meta strong { display: block; overflow: hidden; color: var(--wp-text); font-size: 14px; font-weight: 500; line-height: 20px; white-space: nowrap; text-overflow: ellipsis; }
.wp-netdisk__code { display: flex; align-items: center; gap: 4px; min-width: 0; height: 22px; color: var(--wp-text-3); font-size: 12px; white-space: nowrap; }
.wp-netdisk__code b, .wp-netdisk__extra b { color: var(--wp-text); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13px; font-weight: 600; letter-spacing: .04em; }
.wp-netdisk__copy { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; margin: 0; padding: 0; border: 0; border-radius: 6px; background: transparent; color: var(--wp-text-3); cursor: pointer; transition: background-color .15s ease, color .15s ease; }
.wp-netdisk__copy:hover { background: var(--wp-surface-3); color: var(--wp-blue); }
.wp-netdisk__copy .wp-i { width: 14px; height: 14px; }
.wp-netdisk__extra { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; margin-top: 10px; padding: 0 2px; color: var(--wp-text-3); font-size: 12px; line-height: 22px; }
.wp-netdisk__raw { margin-top: 10px; }
details.wp-netdisk__raw > summary { display: flex; align-items: center; justify-content: center; gap: 4px; padding: 2px 0; color: var(--wp-text-3); font-size: 12px; line-height: 20px; list-style: none; cursor: pointer; }
details.wp-netdisk__raw > summary::-webkit-details-marker { display: none; }
details.wp-netdisk__raw > summary .wp-i { width: 14px; height: 14px; transition: transform .2s ease; }
details.wp-netdisk__raw[open] > summary .wp-i { transform: rotate(180deg); }
details.wp-netdisk__raw > .wp-netdisk__rawbody { margin-top: 8px; }
.wp-netdisk__rawbody { padding: 10px 12px; border-radius: 8px; background: var(--wp-bg); color: var(--wp-text-2); font-size: 13px; line-height: 1.75; word-break: break-all; }
.wp-netdisk__rawbody a { color: var(--wp-blue); }
.wp-netdisk__unlock { margin-top: 12px; }
.wp-btn.wp-netdisk__go { flex: none; gap: 4px; height: 32px; padding: 0 12px; border-radius: 6px; font-size: 13px; }
.wp-netdisk__go .wp-i { width: 14px; height: 14px; }

/* thread tools under the comments: soft pills like the info-panel actions */
.wp-nd__threadops { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 24px 0 8px; font-size: 14px; }
.wp-nd__threadops .pgb { float: none; margin: 0; }
.wp-nd__threadops .pgb a, .wp-nd__threadops .wp-textbtn { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px; border: 0; border-radius: 12px; background: var(--wp-surface-2); color: var(--wp-text-2) !important; font-size: 14px; line-height: 1; transition: background-color .2s, color .2s; }
.wp-nd__threadops .pgb a::before { display: none; }
.wp-nd__threadops .pgb a:hover, .wp-nd__threadops .wp-textbtn:hover { background: var(--wp-surface-3); color: var(--wp-text) !important; }
.wp-nd__threadops .wp-i { flex: none; width: 16px; height: 16px; }
.wp-cmts > .pgs, .wp-cmts > .pgbtn { margin: 16px 0; }
.wp-vp__main > .wp-alert { margin: 16px 0 0; }
#postlistreply { margin: 0; }

/* comments: count badge, segmented sort, airy list without dividers */
.wp-cmts { margin: 36px 0 0; }
.wp-cmts__head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 0 0 16px; padding: 0; border: 0; }
.wp-cmts__head h2 { display: flex; align-items: center; gap: 8px; margin: 0; color: var(--wp-text); font-size: 18px; font-weight: 600; line-height: 28px; }
.wp-cmts__head h2 em { min-width: 24px; height: 22px; padding: 0 7px; box-sizing: border-box; border-radius: 11px; background: var(--wp-surface-2); color: var(--wp-text-2); font-size: 12px; font-style: normal; font-weight: 500; line-height: 22px; text-align: center; font-variant-numeric: tabular-nums; }
.wp-cmts__sort { display: flex; align-items: center; gap: 2px; margin-left: auto; padding: 3px; border-radius: 10px; background: var(--wp-surface-2); font-size: 13px; }
.wp-cmts__sort a { display: inline-flex; align-items: center; height: 26px; padding: 0 12px; border-radius: 7px; color: var(--wp-text-3) !important; transition: color .2s, background-color .2s, box-shadow .2s; }
.wp-cmts__sort a:hover { color: var(--wp-text) !important; }
.wp-cmts__sort a.is-active { background: var(--wp-bg); color: var(--wp-text) !important; font-weight: 500; box-shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 0 0 1px var(--wp-line); }
:root[data-theme="dark"] .wp-cmts__sort a.is-active { background: var(--wp-surface-3); box-shadow: none; }
/* no comments yet: a quiet note, not a second box under the filled composer field; on larger screens it sits in the field's column
   (40px avatar + 14px gap) so the two share their edges */
.wp-cmts__empty { display: flex; flex-direction: column; align-items: center; gap: 8px; margin: 8px 0 0; padding: 36px 16px 20px; border: 0; color: var(--wp-text-3); font-size: 13px; line-height: 20px; text-align: center; }
.wp-cmts__empty .wp-i { box-sizing: content-box; width: 20px; height: 20px; padding: 10px; border-radius: 50%; background: var(--wp-accent-soft); color: var(--wp-accent); }
@media (min-width: 768px) { #f_pst ~ .wp-cmts__empty { margin-left: 54px; } }
.wp-cmts__empty p { margin: 0; }
.wp-cmts:has(#postlistreply .wp-cmt) .wp-cmts__empty { display: none; }
.wp-postwrap:not(.is-first) { margin: 0; }
.wp-cmt { position: relative; display: flex; gap: 14px; padding: 20px 0 2px; }
.wp-cmt__avatar { flex: none; width: 40px; }
.wp-cmt__avatar img { display: block; width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
.wp-cmt__noavatar { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--wp-surface-3); color: var(--wp-text-3); }
.wp-cmt__noavatar .wp-i { width: 20px; height: 20px; }
.wp-cmt__main { flex: 1; min-width: 0; padding: 0; border: 0; }
.wp-cmt__head.pi { display: flex; align-items: center; justify-content: space-between; gap: 10px; height: auto; margin: 0 0 4px; padding: 0; border: 0; overflow: visible; }
.wp-cmt__head .authi { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; min-width: 0; line-height: 20px; }
.wp-cmt__head .authi img { max-height: 14px; vertical-align: -2px; }
.wp-cmt__name { color: var(--wp-text) !important; font-size: 14px; font-weight: 600; }
.wp-cmt__name:hover { color: var(--wp-accent) !important; }
.wp-cmt__op { display: inline-flex; align-items: center; height: 18px; padding: 0 7px; border-radius: 9px; background: var(--wp-accent-soft); color: var(--wp-accent); font-size: 11px; font-weight: 500; line-height: 1; }
.wp-cmt__time { color: var(--wp-text-3); font-size: 12px; font-variant-numeric: tabular-nums; }
.wp-cmt__time em { font-style: normal; }
.wp-cmt__time em + em::before { content: "\00B7"; margin-right: 4px; }
.wp-cmt__right { display: flex; align-items: center; gap: 6px; flex: none; }
.wp-cmt__right .pdbt { float: none; margin: 0; }
.wp-cmt__floor { color: var(--wp-text-4) !important; font-size: 12px; font-variant-numeric: tabular-nums; opacity: 0; transition: opacity .2s; }
.wp-cmt:hover .wp-cmt__floor, .wp-cmt__floor:focus-visible { opacity: 1; }
@media (hover: none) { .wp-cmt__floor { opacity: 1; } }
.wp-cmt__content .t_fsz { min-height: 0; }
.wp-cmt__content .t_f { color: var(--wp-text); font-size: 15px; line-height: 1.75; }
.wp-cmt__content .t_f img:not([smilieid]) { max-width: min(100%, 320px) !important; height: auto !important; border-radius: 10px; }
.wp-cmt__content .pcb h2 { margin: 0 0 4px; font-size: 15px; font-weight: 500; }
.wp-cmt__foot.po { display: flex; flex-wrap: wrap; align-items: center; gap: 2px; margin: 4px 0 0 -8px; padding: 0; border: 0; background: none; color: var(--wp-text-3); font-size: 13px; }
.wp-cmt__votes { display: flex; gap: 2px; margin: 0; }
.wp-cmt__votes a, .wp-cmt__foot .pob a, .wp-cmt__foot .pob p a { display: inline-flex; align-items: center; gap: 5px; height: 30px; margin: 0; padding: 0 8px; float: none; border-radius: 8px; background: transparent; color: var(--wp-text-3) !important; font-size: 13px; white-space: nowrap; transition: background-color .2s, color .2s; }
.wp-cmt__votes a:before { display: none; }
.wp-cmt__votes a:hover, .wp-cmt__foot .pob a:hover { background: var(--wp-surface-2); color: var(--wp-text) !important; }
.wp-cmt__votes .replyadd:hover { color: var(--wp-accent) !important; }
.wp-cmt__votes .replysubtract span { display: none; }
.wp-cmt__foot .wp-i { width: 16px; height: 16px; }
.wp-cmt__foot .pob { display: flex; flex-wrap: wrap; align-items: center; gap: 0; opacity: 1; }
.wp-cmt__foot .pob em { display: flex; flex-wrap: wrap; gap: 2px; }
.wp-cmt__foot .showmenu::after { display: none; }
.wp-cmt__manage { display: flex; align-items: center; gap: 4px; margin-left: 8px; color: var(--wp-text-3); font-size: 12px; }
.wp-cmt--deleted { opacity: .6; }
.wp-cmt .sign { margin-top: 8px; }
.wp-cmt .cp_pls { margin-top: 6px; }
.wp-vp .cm .pstl { padding: 6px 0; border-bottom: 0; }
.wp-vp .psta { width: auto; margin-right: 8px; }
.wp-vp .psti { margin-left: 0; }
.wp-vp .pstl { display: flex; flex-wrap: wrap; gap: 4px 8px; }

/* composer (above the comment list): one rounded card holding the editor, its options and the send button */
#f_pst.wp-composer { margin: 0 0 8px; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
#f_pst.wp-composer .bm_c { padding: 0; }
.wp-composer__row { display: flex; gap: 12px; padding: 14px 14px 10px 16px; border: 1px solid var(--wp-border); border-radius: 18px; background: var(--wp-bg); transition: border-color .2s, box-shadow .2s; }
.wp-composer__row:focus-within { border-color: var(--wp-accent); box-shadow: 0 0 0 4px var(--wp-accent-soft); }
.wp-composer__avatar { flex: none; width: 36px; padding-top: 2px; }
.wp-composer__avatar img { display: block; width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }
.wp-reply__noavatar { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--wp-surface-3); color: var(--wp-text-3); }
#f_pst .wp-composer__main.plc { flex: 1; min-width: 0; padding: 0; }
.wp-composer .tedt { display: flex; flex-direction: column-reverse; width: auto; overflow: hidden; border: 0; border-radius: 0; background: transparent; }
.wp-composer .tedt:focus-within { border-color: transparent; background: transparent; }
#f_pst.wp-composer .tedt, #f_pst.wp-composer .tedt:focus-within { border: 0 !important; box-shadow: none; }
#f_pst.wp-composer .tedt .bar { min-height: 0; border-bottom: 0; }
.wp-composer .tedt .bar { height: auto; gap: 0 2px; margin-top: 2px; padding: 0; border: 0; background: transparent; }
.wp-composer .tedt .area { padding: 0; background: transparent; }
.wp-composer .tedt .pt { min-height: 56px; padding: 7px 0 !important; border: 0 !important; background: transparent; color: var(--wp-text); font-size: 15px; line-height: 1.6; box-shadow: none !important; }
/* the comment box is plain text on every screen (user, 2026-09-16): no formatting / smilies / @ / upload bar, no 高级模式, no attachment list */
#f_pst.wp-composer .tedt .bar, #f_pst.wp-composer .upfl, #f_pst.wp-composer #fastsmiliesdiv { display: none !important; }
@media (min-width: 768px) { #f_pst.wp-composer .tedt textarea.pt { resize: none; } }
/* guests (the login line instead of a textarea, no 发表回复 button): one compact centred message */
#f_pst.wp-composer .wp-composer__row:not(:has(textarea)) { align-items: center; }
#f_pst.wp-composer .wp-composer__row:not(:has(textarea)) .wp-composer__avatar { padding-top: 0; }
#f_pst.wp-composer .tedt div.pt { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0 4px; height: auto; min-height: 40px; color: var(--wp-text-3); font-size: 14px; text-align: center; }
#f_pst.wp-composer .tedt div.pt a { color: var(--wp-blue); }
.wp-composer .fpd a, .wp-composer .fpd #spanButtonPlaceholder { width: 28px; height: 28px; margin: 0; }
.wp-composer .tedt .bar .y { font-size: 12px; line-height: 28px; }
.wp-composer .hasfsl { margin-right: 0; }
.wp-composer #fastsmilies { display: none; }
.wp-composer__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: 8px; padding-top: 10px; border-top: 1px solid var(--wp-line); }
.wp-composer__opts { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; color: var(--wp-text-3); font-size: 12px; }
.wp-composer__opts label { display: inline-flex; align-items: center; gap: 5px; margin: 0; }
.wp-composer__submit { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.wp-composer__submit .pn { display: inline-flex; align-items: center; justify-content: center; height: 34px; padding: 0 20px; border-radius: 17px; line-height: 1; }
.wp-composer .pnc, .wp-composer button.pnc { background: var(--wp-accent-fill); box-shadow: 0 6px 16px -8px var(--wp-accent-fill); }
.wp-composer .pnc:hover, .wp-composer button.pnc:hover { background: var(--wp-accent-hover); }
/* larger screens (user, 2026-09-17): no outer card; the 40px avatar and 14px gap of the comment rows below, beside one soft filled field that
   holds the text, the options and 发表回复. The field outlines on hover and lights up on focus, grows with its text (wp.js initReplyBox),
   and the button stays faint until something is typed */
@media (min-width: 768px) {
	.wp-composer__row, .wp-composer__row:focus-within { gap: 14px; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
	.wp-composer__avatar { width: 40px; padding-top: 0; }
	.wp-composer__avatar img, .wp-composer .wp-reply__noavatar { width: 40px; height: 40px; }
	#f_pst .wp-composer__main.plc { border: 1px solid transparent; border-radius: 14px; background: var(--wp-surface-2); transition: border-color .2s, background-color .2s, box-shadow .2s; }
	#f_pst .wp-composer__main.plc:hover { border-color: var(--wp-border); }
	#f_pst .wp-composer__main.plc:focus-within { border-color: var(--wp-accent); background: var(--wp-bg); box-shadow: 0 0 0 3px var(--wp-accent-soft); }
	#f_pst.wp-composer .tedt.mtn { margin-top: 0 !important; }
	#f_pst.wp-composer .tedt textarea.pt { display: block; width: 100%; height: 72px; min-height: 72px; max-height: 238px; padding: 11px 16px 0 !important; box-sizing: border-box; font-size: 14px; line-height: 22px; overflow-y: auto; }
	#f_pst.wp-composer .tedt .pt::placeholder { color: var(--wp-text-3); }
	#f_pst #seccheck_fastpost:not(:empty) { padding: 6px 16px 0; }
	.wp-composer__bar { min-height: 46px; margin: 0; padding: 6px 7px 7px 16px; box-sizing: border-box; border-top: 0; }
	.wp-composer__submit .pn { height: 32px; padding: 0 18px; border-radius: 16px; font-size: 14px; }
	.wp-composer .wp-composer__submit .pnc { box-shadow: none; transition: opacity .2s, background-color .2s; }
	.wp-composer:has(#fastpostmessage:placeholder-shown) .wp-composer__submit .pnc { opacity: .5; }
	/* guests: the login line centred in the field */
	#f_pst.wp-composer .wp-composer__row:not(:has(textarea)) { padding-bottom: 0; }
	#f_pst.wp-composer .tedt div.pt { min-height: 48px; padding: 12px 16px !important; box-sizing: border-box; }
}
#vfastpost { padding: 6px; border-radius: 8px; background: var(--wp-surface-2); }
#vfastpost #vf_m input { height: 36px; box-sizing: border-box; border: 0; border-radius: 6px; background: var(--wp-elevated); color: var(--wp-text); }
#vfastpost #vf_b button { height: 36px; border: 0; border-radius: 6px; background: var(--wp-blue-fill); color: #FFFFFF !important; text-shadow: none; }
.fullvfastpost { margin-top: 12px; }
.wp-replycredit { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 8px; padding: 4px 10px; border-radius: 6px; background: var(--wp-notice-soft); color: var(--wp-notice); font-size: 13px; }
.wp-replycredit .wp-i { width: 16px; height: 16px; }

@media (max-width: 1023px) {
	.wp-vp__morelist.wp-feed { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.wp-vp__morelist > :nth-child(n+7) { display: none; }
	.wp-vp.pl, html.widthauto .wp-vp.pl { grid-template-columns: minmax(0, 1fr); grid-template-areas: "stage" "side" "main"; grid-template-rows: auto; gap: 20px; max-width: 760px; }
	.wp-vp.is-textonly.pl, html:not(.wp-js) .wp-vp.pl { grid-template-areas: "side" "main"; }
	.wp-vp__side.is-sticky { position: static; }
	.wp-vp .wp-nd__media { min-height: 260px; max-height: 72vh; }
	.wp-vp__more, html.widthauto .wp-vp__more { max-width: 760px; }
}
@media (max-width: 767px) {
	.wp-vp.pl { gap: 16px; margin-bottom: 24px; }
	.wp-vp__title { font-size: 18px; line-height: 26px; }
	.wp-vp__meta { gap: 2px 12px; font-size: 12px; }
	.wp-vp .wp-nd__media { width: calc(100% + 2 * var(--wp-gutter)); min-height: 220px; max-height: 70vh; margin: 0 calc(-1 * var(--wp-gutter)); border-radius: 0; }
	.wp-nd__slide { padding: 14px; }
	.wp-nd__thumbs { margin-top: 10px; }
	.wp-nd__thumb { width: 56px; height: 56px; border-radius: 10px; }
	.wp-cmts__head h2 { font-size: 17px; }
	.wp-cmt { gap: 12px; }
	.wp-cmt__avatar { width: 36px; }
	.wp-cmt__avatar img, .wp-cmt__noavatar { width: 36px; height: 36px; }
	/* phones: the comment box is one rounded pill, a growing text field and 发表回复 (posting and the full editor are PC-only) */
	.wp-composer__row { display: block; padding: 6px 6px 6px 16px; border-color: transparent; border-radius: 24px; background: var(--wp-surface-2); }
	.wp-composer__row:focus-within { border-color: var(--wp-accent); background: var(--wp-bg); box-shadow: 0 0 0 3px var(--wp-accent-soft); }
	.wp-composer__avatar { display: none; }
	#f_pst .wp-composer__main.plc { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; column-gap: 8px; }
	#f_pst .wp-composer__main.plc > * { grid-column: 1 / -1; }
	#f_pst .wp-composer__main.plc > .cl { grid-column: 1; grid-row: 1; }
	#f_pst .wp-composer__main.plc > .wp-composer__bar { grid-column: 2; grid-row: 1; margin: 0; padding: 0; border: 0; }
	/* guests get no 发表回复 button (theme viewthread_fastpost.php): the login line takes the whole pill */
	#f_pst .wp-composer__main.plc:not(:has(> .wp-composer__bar)) > .cl { grid-column: 1 / -1; }
	#f_pst.wp-composer .wp-composer__opts { display: none !important; }
	#f_pst.wp-composer .tedt.mtn { margin-top: 0 !important; }
	#f_pst.wp-composer .tedt textarea.pt { display: block; width: 100%; height: 36px; min-height: 36px; max-height: 132px; padding: 7px 0 !important; box-sizing: border-box; font-size: 16px; line-height: 22px; overflow-y: auto; resize: none; }
	#f_pst.wp-composer .tedt div.pt { min-height: 36px; padding: 7px 0 !important; line-height: 22px; }
	#f_pst.wp-composer .tedt .pt::placeholder { color: var(--wp-text-3); }
	.wp-composer__submit { margin-left: 0; }
	.wp-composer__submit .pn { height: 36px; padding: 0 16px; border-radius: 18px; font-size: 14px; }
	.wp-composer .wp-composer__submit .pnc { box-shadow: none; transition: opacity .2s, background-color .2s; }
	.wp-composer:has(#fastpostmessage:placeholder-shown) .wp-composer__submit .pnc { opacity: .5; }
	/* phones: no 回复 / 举报 on the work and its comments (the comment box is the way to reply), no 投稿 / 回复 pills under the thread;
	   a post's action row with nothing else left disappears */
	.wp-postops .pob a.fastre, .wp-postops .pob a[onclick*="miscreport"], .wp-cmt__foot .pob a.fastre, .wp-cmt__foot .pob a[onclick*="miscreport"] { display: none; }
	.wp-postops.po:not(:has(.pob em > :not(.fastre):not([onclick*="miscreport"]), .pob p > *)) { display: none; }
	.wp-cmt__foot .pob:not(:has(em > :not(.fastre):not([onclick*="miscreport"]), p > *)) { display: none; }
	.wp-nd__threadops a[href*="action=newthread"], .wp-nd__threadops #post_replytmp, .wp-nd__threadops #post_reply { display: none; }
	.wp-vp__more { padding-top: 24px; }
	.wp-vp__morelist.wp-feed { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- Post content (all contexts) ---------- */
.t_f { color: var(--wp-text); }
.t_f a { color: var(--wp-accent); text-decoration: none; }
.t_f a:hover { text-decoration: underline; }
.pcb { margin-right: 0 !important; }
.pl .quote { padding: 12px 14px 8px 52px; border-radius: 8px; background-color: var(--wp-surface-2); background-position: 16px 12px; }
.pl .quote blockquote { padding-right: 0; background: none; }
.pl .blockcode { border-color: var(--wp-border); border-radius: 8px; background-color: var(--wp-surface-2); background-image: linear-gradient(90deg, var(--wp-surface-3), var(--wp-surface-3)); }
.pl .blockcode ol li { color: var(--wp-text-2); }
.pl .blockcode ol li:hover { background: var(--wp-surface); }
.locked { border: 1px dashed var(--wp-border-2); border-radius: 8px; background-color: var(--wp-surface-2); color: var(--wp-text-2); }
.attach_nopermission { width: auto; max-width: 600px; overflow: hidden; border: 1px dashed var(--wp-border-2); border-radius: 8px; background-color: var(--wp-notice-soft); }
.attach_nopermission div { border: 0; }
.attach_nopermission:hover div { border: 0; }
.attach_tips h3 strong { color: var(--wp-notice); }
.showhide { border: 1px dashed var(--wp-border-2); border-radius: 8px; }
.tattl a { color: var(--wp-accent); text-decoration: none; }
.t_table, .t_table td { border-color: var(--wp-border); }
.ptg { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.ptg:before { color: var(--wp-text-3); }
.ptg a { padding: 2px 10px; border-radius: 999px; background: var(--wp-surface-2); color: var(--wp-text-2); font-size: 13px; }
.sign { border-top: 1px dashed var(--wp-border); color: var(--wp-text-3); font-size: 13px; }
.sign::before { color: var(--wp-text-4); }
.modact { height: auto; padding: 16px 0 0; }
.modact a { color: var(--wp-text-3); }
.psth, .cm .psth { width: auto; margin: 14px 0 8px; padding: 0; border-radius: 0; background: none; color: var(--wp-text); font-size: 14px !important; font-weight: 500; }
.icon_ring { display: none; }
.pstl { padding: 8px 0; border-bottom: 1px dashed var(--wp-border); }
.psta { width: 140px; }
.psta img { border-radius: 50%; }
.psti { margin-left: 140px; color: var(--wp-text-2); }
.rate { margin: 14px 0; }
.rate dt strong { border-radius: 8px; background: var(--wp-notice-soft); }
.rate dd ul li img { border-radius: 50%; }
.ratl th, .ratl td, .ratc { border-bottom-color: var(--wp-border); }
.ratl .xw1 .xi1 { background: var(--wp-notice-soft); }
.wp-extra .cm, .wp-extra .rate { padding: 0 4px; }
.typeoption .cgtl { width: 100%; overflow: hidden; border-radius: 8px; }
.cgtl caption { background: var(--wp-surface-2); }
.pcht { width: auto; max-width: 100%; }
.zoominner { border-radius: 8px; background: var(--wp-elevated); }
.imgzoom_title { color: var(--wp-text-2); }
.pdbts .b { background: var(--wp-surface); }
.spvimg { border-radius: 8px; overflow: hidden; }
.mobile-location { color: var(--wp-text-3); font-size: 12px; }

/* ---------- Editors (generated) ---------- */
.tedt { overflow: hidden; border: 1px solid var(--wp-border) !important; border-radius: 8px; background: var(--wp-surface); transition: border-color .2s ease, box-shadow .2s ease; }
.tedt:focus-within { border-color: var(--wp-border-2) !important; box-shadow: 0 0 0 3px var(--wp-blue-soft); }
.tedt .bar { display: flex; flex-wrap: wrap; align-items: center; gap: 0 8px; height: auto; min-height: 40px; padding: 0 12px 0 6px; border-bottom: 1px solid var(--wp-border); background: var(--wp-surface-2); line-height: normal; }
.tedt .bar .y { order: 2; float: none; margin-left: auto; color: var(--wp-text-3); font-size: 13px; line-height: 30px; }
.tedt .bar .y a { color: var(--wp-text-2); }
.tedt .bar .y a:hover { color: var(--wp-accent); }
.fpd { order: 1; float: none; display: flex; flex-wrap: wrap; align-items: center; }
.fpd a, .fpd #spanButtonPlaceholder { position: relative; float: none; flex: none; width: 30px; height: 30px; margin: 5px 1px 5px 0; overflow: hidden; border-radius: 8px; background: none !important; color: var(--wp-text-2) !important; line-height: 30px; text-indent: -9999px; cursor: pointer; transition: background-color .15s ease, color .15s ease; }
.fpd a:hover, .fpd #spanButtonPlaceholder:hover { background: var(--wp-hover) !important; color: var(--wp-text) !important; }
.fpd .pipe { display: none; }
.fpd #spanButtonPlaceholder .webuploader-pick { width: 30px; height: 30px; padding: 0; background: none; }
.fpd a, .fpd #spanButtonPlaceholder { --wp-ico: linear-gradient(transparent, transparent); }
.fpd a::before, .fpd #spanButtonPlaceholder::before { content: ""; position: absolute; top: 50%; left: 50%; width: 16px; height: 16px; margin: -8px 0 0 -8px; background: currentColor; -webkit-mask: var(--wp-ico) center / contain no-repeat; mask: var(--wp-ico) center / contain no-repeat; pointer-events: none; }
.fpd a.fbld { --wp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8'/%3E%3C/svg%3E"); background-image: none !important; }
.fpd a.fclr { --wp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 15 6-11 6 11'/%3E%3Cpath d='M8.2 11h7.6'/%3E%3Cpath d='M4 20h16'/%3E%3C/svg%3E"); background-image: none !important; }
.fpd a.fmg { --wp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='3' rx='2'/%3E%3Ccircle cx='9' cy='9' r='2'/%3E%3Cpath d='m21 15-3.09-3.09a2 2 0 0 0-2.82 0L6 21'/%3E%3C/svg%3E"); background-image: none !important; }
.fpd a.flnk { --wp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' 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"); background-image: none !important; }
.fpd a.fqt { --wp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z'/%3E%3Cpath d='M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z'/%3E%3C/svg%3E"); background-image: none !important; }
.fpd a.fcd { --wp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m16 18 6-6-6-6M8 6l-6 6 6 6'/%3E%3C/svg%3E"); background-image: none !important; }
.fpd a.fsml { --wp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M8 14s1.5 2 4 2 4-2 4-2'/%3E%3Cpath d='M9 9h.01M15 9h.01' stroke-width='3'/%3E%3C/svg%3E"); background-image: none !important; }
.fpd a.fat { --wp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8'/%3E%3C/svg%3E"); background-image: none !important; }
.fpd #spanButtonPlaceholder { --wp-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpath d='m17 8-5-5-5 5M12 3v12'/%3E%3C/svg%3E"); background-image: none !important; }
.tedt .area { padding: 10px 14px; background: var(--wp-surface); }
.tedt .pt { width: 100%; min-height: 96px; padding: 0 !important; border: 0 !important; background: transparent !important; color: var(--wp-text); font-size: 15px; line-height: 1.7; box-shadow: none !important; }
.tedt .pt.hm { display: flex; align-items: center; justify-content: center; color: var(--wp-text-3); font-size: 14px; }
.json-editor { color: var(--wp-text); }
html #json-editor-toolbar { margin: 0; padding: 6px 8px; border: 0 !important; border-bottom: 1px solid var(--wp-border) !important; border-radius: 8px 8px 0 0; background: var(--wp-surface-2) !important; box-shadow: none !important; color: var(--wp-text-2); }
html #json-editor-toolbar .toolbar-area, html #json-editor-toolbar .toolbar-section { display: flex; flex-wrap: wrap; align-items: center; gap: 2px; background: transparent !important; }
html #json-editor-toolbar .toolbar-section > div { display: inline-flex; }
html #json-editor-toolbar .Button { display: inline-flex; align-items: center; justify-content: center; min-width: 48px; height: 50px; margin: 0; padding: 4px 6px; box-sizing: border-box; border: 0 !important; border-radius: 8px; background: transparent !important; box-shadow: none !important; color: var(--wp-text-2) !important; font: inherit; cursor: pointer; transition: background-color .15s ease, color .15s ease; }
html #json-editor-toolbar .Button:hover { background: var(--wp-hover) !important; color: var(--wp-text) !important; }
html #json-editor-toolbar .button-area { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; }
html #json-editor-toolbar .icon, html #json-editor-toolbar-popover .icon { width: 20px !important; height: 20px !important; vertical-align: middle; fill: currentColor; }
html #json-editor-toolbar .icon path, html #json-editor-toolbar-popover .icon path { fill: currentColor !important; }
html #json-editor-toolbar .button-text { color: inherit; font-size: 11px; line-height: 1; white-space: nowrap; }
html #json-editor-toolbar .toolbar-divider { display: inline-block; flex: none; width: 1px; height: 26px; margin: 0 6px; background: var(--wp-border-2) !important; }
html #json-editor-toolbar-popover .Popover-content { min-width: 160px; padding: 6px !important; border: 0 !important; border-radius: 8px !important; background: var(--wp-elevated) !important; box-shadow: var(--wp-shadow-lg), 0 0 0 1px var(--wp-border) !important; color: var(--wp-text); }
html #json-editor-toolbar-popover .Menu { display: flex; flex-direction: column; gap: 2px; background: transparent !important; }
html #json-editor-toolbar-popover .Button { display: flex; align-items: center; gap: 8px; width: 100%; height: 36px; margin: 0; padding: 0 10px; border: 0 !important; border-radius: 6px; background: transparent !important; color: var(--wp-text) !important; font-size: 14px; text-align: left; cursor: pointer; }
html #json-editor-toolbar-popover .Button:hover { background: var(--wp-hover) !important; }
html #json-editor-toolbar-popover .icon { width: 18px !important; height: 18px !important; }
html #json-editor-toolbar-popover .Popover-hidden { display: none !important; }
html .json-editor-subject input { width: 100%; height: 64px; padding: 0 24px; box-sizing: border-box; border: 0 !important; border-bottom: 1px solid var(--wp-border) !important; border-radius: 0; background: transparent !important; box-shadow: none !important; color: var(--wp-text) !important; font-size: 26px; font-weight: 800; letter-spacing: -.01em; outline: 0; }
html .json-editor-subject input::placeholder { color: var(--wp-text-4); }
html .json-editor__content { background: transparent !important; color: var(--wp-text); }
html .json-editor #editorjs { min-height: 320px; padding: 12px 8px 24px; color: var(--wp-text); font-size: 16px; line-height: 1.75; }
html .json-editor__output { display: none; }
html .codex-editor { --selectionColor: rgba(0, 174, 236, .12); --inlineSelectionColor: rgba(0, 174, 236, .22); --bg-light: var(--wp-surface-2); --grayText: var(--wp-text-3); --color-dark: var(--wp-text); --color-active-icon: var(--wp-accent); --color-gray-border: var(--wp-border-2); color: var(--wp-text); }
html .codex-editor ::selection { background: var(--wp-blue-soft); }
html .ce-block--selected .ce-block__content { background: var(--wp-blue-soft) !important; }
html .ce-paragraph[data-placeholder]:empty::before, html .ce-paragraph[data-placeholder-active]:empty::before, html .cdx-input[data-placeholder]::before { color: var(--wp-text-4) !important; }
html .ce-header { color: var(--wp-text); }
html .ce-toolbar__plus, html .ce-toolbar__settings-btn { border-radius: 8px !important; background: transparent !important; color: var(--wp-text-3) !important; }
html .ce-toolbar__plus:hover, html .ce-toolbar__settings-btn:hover, html .ce-toolbar__settings-btn--active { background: var(--wp-hover) !important; color: var(--wp-text) !important; }
html .ce-popover, html .ce-popover__container { --color-background: var(--wp-elevated); --color-text-primary: var(--wp-text); --color-text-secondary: var(--wp-text-3); --color-border: var(--wp-border); --color-shadow: rgba(0, 0, 0, .16); --color-border-icon: var(--wp-border-2); --color-border-icon-disabled: var(--wp-border); --color-text-icon-active: var(--wp-accent); --color-background-icon-active: var(--wp-accent-soft); --color-background-item-focus: var(--wp-accent-soft); --color-shadow-item-focus: rgba(0, 174, 236, .2); --color-background-item-hover: var(--wp-hover); --color-background-item-confirm: #E5484D; --color-background-item-confirm-hover: #CE3B40; }
html .ce-popover__container, html .ce-popover:not(:has(> .ce-popover__container)), html .ce-inline-toolbar, html .ce-conversion-toolbar, html .ce-settings, html .tc-popover { border-color: var(--wp-border) !important; border-radius: 8px !important; background: var(--wp-elevated) !important; box-shadow: var(--wp-shadow-lg), 0 0 0 1px var(--wp-border) !important; color: var(--wp-text) !important; }
html .ce-popover-item, html .ce-popover__item, html .ce-conversion-tool, html .ce-settings__button, html .cdx-settings-button, html .ce-inline-tool, html .tc-popover__item { border-radius: 8px; color: var(--wp-text) !important; }
html .ce-popover-item:hover, html .ce-popover__item:hover, html .ce-conversion-tool:hover, html .ce-settings__button:hover, html .cdx-settings-button:hover, html .ce-inline-tool:hover, html .tc-popover__item:hover { background: var(--wp-hover) !important; }
html .ce-popover-item__icon, html .ce-popover__item-icon, html .ce-conversion-tool__icon, html .tc-popover__item-icon { background: var(--wp-surface) !important; box-shadow: 0 0 0 1px var(--wp-border) !important; color: var(--wp-text) !important; }
html .ce-popover-item__secondary-title, html .ce-popover__item-secondary-label, html .ce-popover__nothing-found-message { color: var(--wp-text-3) !important; }
html .ce-inline-tool--active, html .ce-popover-item--active, html .ce-popover-item--active .ce-popover-item__icon { color: var(--wp-accent) !important; }
html .cdx-search-field { border-color: var(--wp-border) !important; background: var(--wp-surface-2) !important; }
html .cdx-search-field__icon { color: var(--wp-text-3) !important; }
html .cdx-search-field__input { background: transparent !important; color: var(--wp-text) !important; }
html .cdx-search-field__input::placeholder { color: var(--wp-text-4) !important; }
html .ce-inline-tool-input { border-color: var(--wp-border) !important; background: var(--wp-surface-2) !important; color: var(--wp-text) !important; }
html .cdx-input, html .ce-code__textarea, html .image-tool__caption, html .embed-tool__caption, html .link-tool__input { border-color: var(--wp-border) !important; border-radius: 6px !important; background: var(--wp-surface-2) !important; box-shadow: none !important; color: var(--wp-text) !important; }
html .cdx-button { border-color: var(--wp-border) !important; border-radius: 6px !important; background: var(--wp-surface) !important; box-shadow: none !important; color: var(--wp-text) !important; }
html .cdx-button:hover { background: var(--wp-hover) !important; }
html .ce-delimiter::before { color: var(--wp-text-3); }
html .cdx-marker { background: rgba(255, 102, 153, .3) !important; color: inherit; }
html .inline-code { background: var(--wp-surface-2) !important; color: var(--wp-accent) !important; }
html .tc-wrap { --color-background: var(--wp-surface-2); --color-text-secondary: var(--wp-text-3); --color-border: var(--wp-border); --color-background-hover: var(--wp-hover); }
html .tc-table, html .tc-cell { border-color: var(--wp-border) !important; color: var(--wp-text); }
html .image-tool { --bg-color: var(--wp-surface-3); --front-color: var(--wp-accent); --border-color: var(--wp-border); }
html .link-tool__content, html .cdx-attaches, html .embed-tool__content { border-color: var(--wp-border) !important; background: var(--wp-surface-2) !important; box-shadow: none !important; color: var(--wp-text) !important; }
html .cdx-checklist__item-checkbox { border-color: var(--wp-border-2) !important; background: var(--wp-surface) !important; }
html .editor-param .publish-line { height: 1px; border: 0; background: var(--wp-border) !important; }
html .css-publish { color: var(--wp-text); }
html .css-publish__title { color: var(--wp-text) !important; font-size: 18px; font-weight: 800; }
html .css-publish__cover__title, html .css-publish__div_title { color: var(--wp-text-2) !important; font-weight: 500; }
html .css-publish__cover__image__icon { border: 1.5px dashed var(--wp-border-2) !important; border-radius: 8px !important; background: var(--wp-surface-2) !important; color: var(--wp-text-3) !important; cursor: pointer; transition: border-color .2s ease, color .2s ease; }
html .css-publish__cover__image__icon:hover { border-color: var(--wp-accent) !important; color: var(--wp-accent) !important; }
html .css-publish__cover__image__icon hr { border: 0; border-top: 1px solid var(--wp-border); }
html .css-publish__cover__image__desc { color: var(--wp-text-3) !important; }
html .css-publish__bar { border-top: 1px solid var(--wp-border) !important; background: var(--wp-glass-solid) !important; -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px); box-shadow: none !important; color: var(--wp-text-2); }
html .css-publish__bar__left { color: var(--wp-text-3) !important; cursor: pointer; }
html .css-publish__bar__left:hover { color: var(--wp-text) !important; }
html .css-publish__bar__draft__tip { color: var(--wp-text-3) !important; }
html .json-editor .layui-input, html .json-editor .layui-select, html .json-editor .layui-textarea, html .json-editor select, html .json-editor .layui-select-title input { height: 40px; border: 1px solid var(--wp-input-border) !important; border-radius: 6px !important; background-color: var(--wp-input-bg) !important; box-shadow: none !important; color: var(--wp-text) !important; }
html .json-editor .layui-input:hover, html .json-editor select:hover { border-color: var(--wp-border-2) !important; }
html .json-editor .layui-input:focus, html .json-editor select:focus { border-color: var(--wp-blue) !important; box-shadow: 0 0 0 3px var(--wp-blue-soft) !important; }
html .json-editor .layui-input::placeholder { color: var(--wp-text-4) !important; }
/* plugin inputs with an inline pixel width (the tag box is width:500px) must not push a phone-width page sideways */
html .json-editor .layui-input[style*="width"] { max-width: 100%; box-sizing: border-box; }
html .layui-form-select dl { padding: 6px !important; border: 0 !important; border-radius: 8px !important; background: var(--wp-elevated) !important; box-shadow: var(--wp-shadow-lg), 0 0 0 1px var(--wp-border) !important; }
html .layui-form-select dl dd, html .layui-form-select dl dt { border-radius: 8px; color: var(--wp-text) !important; }
html .layui-form-select dl dd:hover { background: var(--wp-hover) !important; }
html .layui-form-select dl dd.layui-this { background: var(--wp-blue-soft) !important; color: var(--wp-blue) !important; }
html .json-editor .layui-btn, html .css-publish__bar .layui-btn { height: 40px; padding: 0 24px; border: 0 !important; border-radius: 8px !important; font-size: 14px; font-weight: 500; line-height: 40px; }
html .json-editor .layui-bg-blue, html #submitButton { background: var(--wp-blue-fill) !important; color: #fff !important; }
html .json-editor .layui-bg-blue:hover, html #submitButton:hover { opacity: .9; }
html .json-editor .layui-btn-primary, html #saveButton { background: var(--wp-surface-2) !important; color: var(--wp-text) !important; }
html .json-editor .layui-btn-primary:hover, html #saveButton:hover { background: var(--wp-surface-3) !important; }
html .layui-layer { border-radius: 8px !important; background: var(--wp-elevated) !important; box-shadow: var(--wp-shadow-lg) !important; color: var(--wp-text) !important; }
html .layui-layer-msg .layui-layer-content, html .layui-layer-dialog .layui-layer-content { color: var(--wp-text) !important; }
html #draft-overlay { background: var(--wp-overlay) !important; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
html #draft-notification { padding: 26px 24px 22px !important; border-radius: 8px !important; background: var(--wp-elevated) !important; box-shadow: var(--wp-shadow-lg), 0 0 0 1px var(--wp-border) !important; color: var(--wp-text) !important; }
html #draft-notification button { height: 42px; padding: 0 20px !important; border-radius: 8px !important; font-size: 15px !important; font-weight: 500; }
html #use-draft-btn { background: var(--wp-blue-fill) !important; color: #fff !important; }
html #use-newest-btn { background: var(--wp-surface-2) !important; color: var(--wp-text) !important; }
.pg_post #ct.ct2_a { display: block; max-width: calc(1000px + 2 * var(--wp-gutter)); }
/* 宽版: the style cache's widthauto.css is printed after this file and older copies zero these margins, which left the editor at the left edge */
html.widthauto .pg_post #ct.ct2_a { margin-left: auto; margin-right: auto; }
.pg_post #ct > .bm.bw0 { margin: 0 0 24px; padding: 8px 32px 28px; border: 0; border-radius: 8px; background: var(--wp-surface); box-shadow: 0 0 0 1px var(--wp-line); }
.pg_post #ct > .bm > .tb { margin: 0 0 20px; }
.pg_post .pbt { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; margin: 16px 0 14px; }
.pg_post .pbt.cl::after { display: none; }
.pg_post .pbt .ftid { float: none; margin: 0; }
.pg_post .pbt .ftid select, .pg_post .pbt .ftid a { height: 40px; border-radius: 8px; line-height: 38px; }
.pg_post .pbt .ftid select { width: auto; min-width: 128px; max-width: 240px; }
.pg_post .pbt .ftid a { width: auto !important; min-width: 64px; max-width: 220px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
#typeid_ctrl_menu { width: auto !important; min-width: 140px; }
.pg_post .pbt > .z { float: none; display: flex; flex: 1 1 360px; align-items: center; gap: 12px; min-width: 0; }
.pg_post .pbt > .z > span:first-child { flex: 1; min-width: 0; }
.pg_post .pbt #subject { width: 100% !important; height: 40px; padding: 0 14px; border-radius: 8px; font-size: 16px; font-weight: 500; }
.pg_post #subjectchk { flex: none; color: var(--wp-text-3); font-size: 12px; white-space: nowrap; }
.pg_post #subjectchk strong { color: var(--wp-text-2); font-variant-numeric: tabular-nums; }
.pg_post #subjecthide { float: none; color: var(--wp-text-2); }
#post_extra { margin-top: 18px; padding-top: 0; }
#post_extra_tb { display: flex; flex-wrap: wrap; gap: 8px; }
#post_extra_tb label { float: none; display: inline-flex; align-items: center; height: 30px; margin: 0; padding: 0 12px; border: 0; border-radius: 8px; background: var(--wp-surface-2); color: var(--wp-text-2); font-size: 13px; line-height: 30px; cursor: pointer; -webkit-user-select: none; user-select: none; transition: background-color .15s ease, color .15s ease; }
#post_extra_tb label:hover { background: var(--wp-surface-3); color: var(--wp-text); }
#post_extra_tb label.a { background: var(--wp-blue-soft); color: var(--wp-blue); }
#post_extra_tb label span { float: none; display: inline-flex; align-items: center; padding: 0; line-height: inherit; }
#post_extra_tb label span::before { flex: none; width: 6px; height: 6px; margin: 0 7px 0 0; border-radius: 50%; background: currentColor; opacity: .35; }
#post_extra_tb label span.a::before { background: var(--wp-blue-fill); opacity: 1; }
#post_extra_c .exfm { margin: 10px 0 0; padding: 16px 18px; border: 0; border-radius: 8px; background: var(--wp-surface-2); }
.pg_post #postbox .pnpost { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 22px 0 0 !important; padding: 18px 0 0; border-top: 1px solid var(--wp-border); }
.pg_post #postbox .pnpost > .y { float: none; order: 10; margin-left: auto; color: var(--wp-text-3); font-size: 13px; }
.pg_post #postbox .pnpost > .y:hover { color: var(--wp-blue); }
.pg_post #postbox .pnpost .pn { height: 40px; margin: 0; padding: 0 28px; border-radius: 8px; font-size: 14px; line-height: 38px; }
.pg_post #postbox .pnpost label { display: inline-flex; align-items: center; gap: 6px; color: var(--wp-text-2); font-size: 13px; }
.pg_post #postbox .pnpost select { height: 34px; margin-left: 6px; }
.pg_post #custominfo { float: right; margin-top: 12px; color: var(--wp-text-3); cursor: help; }
.pg_post .json-editor { margin-top: 4px; border: 1px solid var(--wp-border); border-radius: 8px; background: var(--wp-surface); }
@media (max-width: 767px) {
	.pg_post #ct > .bm.bw0 { margin: 0 calc(-1 * var(--wp-gutter)) 16px; padding: 4px 14px 18px; border-radius: 0; box-shadow: none; }
	.pg_post #subjectchk { display: none; }
	.pg_post #postbox .pnpost .pn { flex: 1 1 auto; }
	.pg_post #postbox .pnpost > .y { order: 11; width: 100%; margin: 0; text-align: center; }
}
/* ---------- /Editors ---------- */
@media (max-width: 767px) {
	/* poll (post_poll): Discuz floats two fixed-width columns (400px / 360px) and gives every option input 290px */
	.pg_post .exfm .sinf, .pg_post .exfm .sadd { float: none; width: auto; margin: 0; padding: 0; border: 0; }
	.pg_post .exfm .sadd { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--wp-border-2); }
	.pg_post .exfm .sinf h4 { float: none; line-height: 1.6; }
	.pg_post .sppoll #pollm_c_1 p { display: flex; align-items: center; gap: 8px; height: auto; margin: 0 0 8px; line-height: normal; }
	.pg_post .sppoll #pollm_c_1 p .px { flex: 1 1 auto; width: auto !important; min-width: 0; margin: 0; }
	.pg_post .sppoll #pollm_c_1 p > span { flex: none; }
	.pg_post .sppoll #pollm_c_1 p a.d { order: 3; flex: none; float: none; margin: 0; }
	.pg_post .sppoll textarea { width: 100% !important; }
	.pg_post .exfm .sadd p { display: flex; align-items: center; gap: 8px; height: auto !important; min-height: 34px; margin: 0 !important; line-height: normal; }
	.pg_post .exfm .sadd .pxs { width: 64px !important; height: 34px; margin: 0; }
	/* extras under the editor (tags, read permission, price, publish time): Discuz tables with size="60" inputs */
	.pg_post #post_extra_c .exfm table, .pg_post #post_extra_c .exfm tbody, .pg_post #post_extra_c .exfm tr, .pg_post #post_extra_c .exfm th, .pg_post #post_extra_c .exfm td { display: block; width: auto !important; }
	.pg_post #post_extra_c .exfm th, .pg_post #post_extra_c .exfm td { padding: 2px 0; }
	.pg_post #post_extra_c .exfm .px, .pg_post #post_extra_c .exfm select { max-width: 100%; box-sizing: border-box; }
	.pg_post #post_extra_c .exfm input.px[size] { width: 100% !important; }
}
/* ---------- Editor upload popups (image / attachment) ---------- */
/* Discuz wraps these menus' fwin table in a .p_pof frame: the fwin card alone is the popup, and the &nbsp; in the side cells
   (a table cell can't shrink below its text) no longer pushes that card right */
.fwin .m_l, .fwin .m_r { font-size: 0; line-height: 0; }
.p_pof:has(> table.fwin) { padding: 0; border: 0; border-radius: 12px; background: none; box-shadow: none; }
.p_pof .fwin .mtm { margin-top: 4px; }
.p_pof .fwin .tb_s > li.y { align-self: center; margin-bottom: 0; }
/* the close button: pinned to the right end of the tab row and centred on it, whatever margins the row and the button carry
   (common.css .p_pof .flbc margin-right 8px / margin-top 4px left it low and 8px in); its right edge lines up with the 20px body */
[id$="_image_menu"] .tb_s, [id$="_attach_menu"] .tb_s { position: relative; padding-right: 64px; }
[id$="_image_menu"] .tb_s > li.y, [id$="_attach_menu"] .tb_s > li.y { position: absolute; top: 0; right: 20px; bottom: 0; display: flex; align-items: center; float: none; margin: 0 !important; padding: 0; }
[id$="_image_menu"] .tb_s > li.y .flbc, [id$="_attach_menu"] .tb_s > li.y .flbc { margin: 0 !important; }
/* no 网络图片 tab (the default editor_menu_forum.php / home editor_image_menu.php print it); it stays only when it is the current tab,
   which Discuz sets when the member can neither upload images nor pick from an album, so the popup is never left empty */
[id$="_image_menu"] .tb_s > li[id$="_btn_www"]:not(.current) { display: none; }
/* one 20px gutter for tabs, body and footer; WebUploader's button becomes a dashed drop zone; the size / extension limits read as a quiet caption */
[id$="_image_menu"] .p_opt, [id$="_attach_menu"] .p_opt { padding: 16px 20px; }
[id$="_image_menu"] .pbm.bbda, [id$="_attach_menu"] .pbm.bbda { padding: 0 0 12px; border-bottom: 0; }
/* the container is the placeholder span; Discuz's webuploader.css draws it as a small blue 25px button with side padding (the default template
   resets it with background-color:transparent where it reuses the uploader) and the upload shim may size it inline: reset all of it */
[id$="_image_menu"] .webuploader-container, [id$="_attach_menu"] .webuploader-container { position: relative; display: block; width: 100% !important; height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; line-height: normal !important; overflow: visible !important; }
[id$="_image_menu"] .webuploader-pick, [id$="_attach_menu"] .webuploader-pick { display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 10px; width: 100%; height: 64px; margin: 0; padding: 0; box-sizing: border-box; overflow: visible; border: 1.5px dashed var(--wp-border-2); border-radius: 10px; background: var(--wp-surface-2); color: var(--wp-text-2); font-size: 14px; font-weight: 500; line-height: 1.4; text-indent: 0; cursor: pointer; transition: border-color .2s, background-color .2s, color .2s; }
[id$="_image_menu"] .webuploader-pick::before, [id$="_attach_menu"] .webuploader-pick::before { content: ""; flex: none; width: 22px; height: 22px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpath d='m17 8-5-5-5 5M12 3v12'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpath d='m17 8-5-5-5 5M12 3v12'/%3E%3C/svg%3E") center / contain no-repeat; }
[id$="_image_menu"] .webuploader-pick-hover, [id$="_attach_menu"] .webuploader-pick-hover, [id$="_image_menu"] .webuploader-container:hover .webuploader-pick, [id$="_attach_menu"] .webuploader-container:hover .webuploader-pick { border-color: var(--wp-blue); background: var(--wp-blue-soft); color: var(--wp-blue); }
/* WebUploader sizes its invisible file input to the button while the popup is still hidden: stretch it over the whole zone */
[id$="_image_menu"] .webuploader-container > div:not(.webuploader-pick), [id$="_attach_menu"] .webuploader-container > div:not(.webuploader-pick) { inset: 0 !important; width: 100% !important; height: 100% !important; }
[id$="_image_menu"] .notice.upnf, [id$="_attach_menu"] .notice.upnf { margin: 10px 0 0; padding: 0 2px; background: none; color: var(--wp-text-3); font-size: 12px; line-height: 1.7; }
[id$="_image_menu"] .notice.upnf::before, [id$="_attach_menu"] .notice.upnf::before { display: none; }
[id$="_image_menu"] .notice.upnf .xi1, [id$="_attach_menu"] .notice.upnf .xi1 { color: var(--wp-text-2); }
/* album save panel (images already uploaded): a row above the drop zone instead of a float; select all on the left, save / create on the right */
[id$="_image_menu"] #imgattach_notice { float: none; margin: 0 0 12px; color: var(--wp-text-2); font-size: 13px; }
[id$="_image_menu"] #uploadPanel { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
/* create-album row: margins instead of gap and no font size on the row itself, so the template's &nbsp; between the input and the buttons takes no room */
[id$="_image_menu"] #createalbum { display: flex; flex-wrap: wrap; align-items: center; row-gap: 8px; font-size: 0; }
[id$="_image_menu"] #createalbum > * { height: 32px; margin: 0 0 0 8px; box-sizing: border-box; font-size: 14px; }
[id$="_image_menu"] #createalbum > :first-child { margin-left: 0; }
[id$="_image_menu"] #uploadPanel > label { display: inline-flex; align-items: center; gap: 6px; margin: 0 auto 0 0 !important; }
[id$="_image_menu"] #uploadPanel > label .pc { margin: 0; }
[id$="_image_menu"] #createalbum .px { flex: 1 1 140px; min-width: 0; }
[id$="_image_menu"] #uploadPanel select { height: 32px; margin: 0; box-sizing: border-box; }
/* uploaded images (forum/ajax_imagelist.php, plus the cells static/js/handlers.js adds per upload): a grid of thumbnail cards instead of the
   4-column table; clicking the picture still inserts it, 删除 / 更新 / 设为封面 sit on the picture, 描述 is a full-width field */
.upfl table.imgl { display: block; width: 100%; margin: 0 0 4px; border: 0; border-spacing: 0; }
.upfl table.imgl > tbody { display: grid; grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)); gap: 10px; }
.upfl table.imgl tr { display: contents; }
.upfl table.imgl td { position: relative; display: flex; flex-direction: column; gap: 6px; width: auto; height: auto; min-width: 0; padding: 0; border: 0; line-height: normal; text-align: left; vertical-align: top; }
.upfl table.imgl td:empty { display: none; }
.upfl .imgl td > a:first-child { display: block; overflow: hidden; border-radius: 10px; background: var(--wp-surface-2); box-shadow: 0 0 0 1px var(--wp-line); transition: box-shadow .2s; }
.upfl .imgl td > a:first-child:hover { box-shadow: 0 0 0 2px var(--wp-blue); }
.upfl .imgl td > a:first-child img { display: block; width: 100%; max-width: none; height: auto; margin: 0; border: 0; aspect-ratio: 4 / 3; object-fit: cover; cursor: pointer; }
.upfl .imgl td > p.xi2 { position: absolute; top: 6px; left: 6px; right: 6px; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px; margin: 0; font-size: 0; line-height: 0; pointer-events: none; }
.upfl .imgl td > p.xi2 a { display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border-radius: 11px; background: rgba(0, 0, 0, .52); color: #FFFFFF !important; font-size: 12px; line-height: 1; text-decoration: none !important; white-space: nowrap; pointer-events: auto; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); transition: background-color .2s; }
.upfl .imgl td > p.xi2 a:hover { background: rgba(0, 0, 0, .72); }
.upfl .imgl td > p.xi2 a:last-child:hover { background: var(--wp-danger); }
.upfl .imgl .imgf { margin: 0; }
.upfl .imgl .imgf .px { display: block; width: 100%; height: 30px; margin: 0; padding: 0 8px; box-sizing: border-box; border-radius: 8px; font-size: 12px; line-height: 28px; }
/* the unnamed box is Discuz's stand-in placeholder ("描述"); a saved description keeps .xg2 but is real text */
.upfl .imgl .imgf .px.xg2 { color: var(--wp-text); }
.upfl .imgl .imgf .px.xg2:not([name]) { color: var(--wp-text-3); cursor: text; }
.upfl .imgl td > p.mtn:not(.xi2) { margin: 0; color: var(--wp-text-2); font-size: 12px; line-height: 1.5; }
.upfl .imgl td > p.mtn:not(.xi2) label { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.upfl .imgl td > p.mtn:not(.xi2) .pc { margin: 0; }
.upfl .imgl td > p.mtn:not(.xi2):empty { display: none; }
/* upload queue rows (static/js/fileprogress.js; the status line prints the text, a native <progress> and the percentage) */
.progressWrapper { float: none; width: 100%; overflow: visible; }
.progressContainer { position: relative; width: auto; margin: 10px 0 0; padding: 10px 44px 10px 14px; box-sizing: border-box; overflow: hidden; border: 1px solid var(--wp-line); border-radius: 10px; background: var(--wp-surface-2); transition: background-color .2s, border-color .2s; }
.progressName { width: auto; height: auto; overflow: hidden; color: var(--wp-text); font-size: 13px; font-weight: 500; line-height: 20px; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.progressBarStatus { display: flex; align-items: center; gap: 10px; width: auto; margin: 4px 0 0; color: var(--wp-text-3); font-size: 12px; line-height: 18px; text-align: left; white-space: nowrap; font-variant-numeric: tabular-nums; }
.progressBarStatus progress { flex: 1 1 auto; width: auto; min-width: 60px; height: 6px; margin: 0; border: 0; border-radius: 3px; background: var(--wp-surface-3); color: var(--wp-blue-fill); vertical-align: middle; overflow: hidden; -webkit-appearance: none; appearance: none; }
.progressBarStatus progress::-webkit-progress-bar { border-radius: 3px; background: var(--wp-surface-3); }
.progressBarStatus progress::-webkit-progress-value { border-radius: 3px; background: var(--wp-blue-fill); transition: width .2s ease; }
.progressBarStatus progress::-moz-progress-bar { border-radius: 3px; background: var(--wp-blue-fill); }
.progressBarInProgress, .progressBarComplete, .progressBarError { display: none; }
a.progressCancel { position: absolute; top: 50%; right: 10px; float: none; width: 26px; height: 26px; margin-top: -13px; border-radius: 50%; background: transparent; line-height: 26px; text-align: center; text-decoration: none; transition: background-color .2s; }
a.progressCancel::before { content: "\d7"; color: var(--wp-text-3); font-size: 18px; font-weight: 400; }
a.progressCancel:hover { background: var(--wp-danger-soft); }
a.progressCancel:hover::before { color: var(--wp-danger); }
.progressContainer.red { border-color: transparent; background: var(--wp-danger-soft); }
.progressContainer.red .progressBarStatus { color: var(--wp-danger); }
@media (max-width: 767px) {
	.p_pof[id$="_image_menu"], .p_pof[id$="_attach_menu"] { left: 8px !important; right: 8px; width: auto !important; max-width: none; box-sizing: border-box; }
}
/* desktop: the popups open as a centred dialog instead of hanging under the toolbar button (below the fold on shorter windows the
   确定 button was out of sight). The card never outgrows the window: the tab row and the 确定 bar stay, the panel body scrolls.
   Discuz keeps both popups rendered while closed (inside the zero-height #e_menus, or visibility:hidden), so the centring only applies
   with .wp-uppop, which wp.js initUploadDialogs sets from the popup's inline style while it is really open */
@media (min-width: 768px) {
	.p_pof.wp-uppop[id$="_image_menu"], .p_pof.wp-uppop[id$="_attach_menu"] { position: fixed !important; top: 50% !important; right: auto !important; bottom: auto !important; left: 50% !important; width: min(680px, calc(100vw - 48px)) !important; max-width: none; margin: 0 !important; box-sizing: border-box; transform: translate(-50%, -50%); }
	[id$="_image_menu"] > table.fwin, [id$="_attach_menu"] > table.fwin { width: 100%; }
	[id$="_image_menu"] .m_c > .mtm, [id$="_attach_menu"] .m_c > .mtm { display: flex; flex-direction: column; max-height: calc(100vh - 48px); margin-top: 0; }
	[id$="_image_menu"] .m_c > .mtm > *, [id$="_attach_menu"] .m_c > .mtm > * { flex: none; }
	[id$="_image_menu"] .m_c > .mtm > div[unselectable] { display: flex; flex: 0 1 auto; flex-direction: column; min-height: 0; }
	[id$="_image_menu"] .m_c > .mtm > div[unselectable] > .p_opt, [id$="_attach_menu"] .m_c > .mtm > .p_opt { flex: 0 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
	/* one scroller: module.css caps .upfl at 300px with its own scrollbar, which nested a second scroll inside the body */
	[id$="_image_menu"] .upfl, [id$="_attach_menu"] .upfl { max-height: none; overflow: visible; }
}

/* ---------- Lightbox ---------- */
.wp-lb { position: fixed; inset: 0; z-index: 10000; display: none; color: #fff; }
.wp-lb.is-open { display: block; animation: wp-fade .2s ease; }
.wp-lb__bg { position: absolute; inset: 0; background: rgba(6, 7, 10, .94); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.wp-lb__stage { position: absolute; inset: 64px 76px 88px; display: flex; align-items: center; justify-content: center; overflow: auto; overscroll-behavior: contain; }
.wp-lb__img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 8px; box-shadow: 0 30px 80px -20px rgba(0, 0, 0, .8); transition: opacity .25s ease; }
.wp-lb.is-loading .wp-lb__img { opacity: .3; }
.wp-lb.is-zoom .wp-lb__stage { align-items: flex-start; justify-content: flex-start; cursor: grab; }
.wp-lb.is-zoom .wp-lb__img { max-width: none; max-height: none; border-radius: 0; }
.wp-lb__spin { position: absolute; top: 50%; left: 50%; display: none; width: 38px; height: 38px; margin: -19px 0 0 -19px; box-sizing: border-box; border: 3px solid rgba(255, 255, 255, .25); border-top-color: #fff; border-radius: 50%; animation: wp-spin .8s linear infinite; }
.wp-lb.is-loading .wp-lb__spin { display: block; }
.wp-lb__top { position: absolute; top: 0; left: 0; right: 0; display: flex; align-items: center; justify-content: space-between; height: 64px; padding: 0 14px 0 24px; }
.wp-lb__count { font-size: 13px; opacity: .7; font-variant-numeric: tabular-nums; }
.wp-lb__tools { display: flex; gap: 6px; }
.wp-lb__btn, .wp-lb__nav { display: grid; place-items: center; padding: 0; border: 0; background: rgba(255, 255, 255, .1); color: #fff !important; cursor: pointer; transition: background .15s; }
.wp-lb__btn { width: 42px; height: 42px; border-radius: 12px; }
.wp-lb__btn:hover, .wp-lb__nav:hover { background: rgba(255, 255, 255, .22); }
.wp-lb__nav { position: absolute; top: 50%; width: 54px; height: 54px; margin-top: -27px; border-radius: 50%; }
.wp-lb__nav .wp-i { width: 26px; height: 26px; }
.wp-lb__prev { left: 12px; }
.wp-lb__next { right: 12px; }
.wp-lb.is-single .wp-lb__nav { display: none; }
.wp-lb__bar { position: absolute; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 88px; padding: 12px 24px; box-sizing: border-box; }
.wp-lb__info { display: flex; flex-direction: column; min-width: 0; }
.wp-lb__title { overflow: hidden; font-size: 15px; font-weight: 600; white-space: nowrap; text-overflow: ellipsis; }
.wp-lb__meta { font-size: 12px; opacity: .65; font-variant-numeric: tabular-nums; }
.wp-lb-open, .wp-lb-open body { overflow: hidden; }

/* toast */
.wp-toast { position: fixed; left: 50%; bottom: 36px; z-index: 10001; max-width: calc(100vw - 32px); padding: 11px 20px; box-sizing: border-box; border-radius: 999px; background: var(--wp-text); color: var(--wp-bg); font-size: 14px; font-weight: 500; box-shadow: var(--wp-shadow-lg); opacity: 0; pointer-events: none; transform: translate(-50%, 16px); transition: opacity .25s ease, transform .25s ease; }
.wp-toast.is-show { opacity: 1; transform: translate(-50%, 0); }
/* phones: posting is PC-only; wp.js openPcPost shows this note instead (above the page, below the toast) */
html.wp-pcpost-open { overflow: hidden; }
.wp-pcpost { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; padding: 24px; box-sizing: border-box; visibility: hidden; opacity: 0; transition: opacity .2s ease, visibility .2s; }
.wp-pcpost.is-open { visibility: visible; opacity: 1; }
.wp-pcpost__mask { position: absolute; inset: 0; background: var(--wp-overlay); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.wp-pcpost__card { position: relative; width: 100%; max-width: 320px; padding: 28px 22px 20px; box-sizing: border-box; border-radius: 20px; background: var(--wp-elevated); box-shadow: var(--wp-shadow-lg); text-align: center; transform: translateY(12px) scale(.96); transition: transform .28s cubic-bezier(.2, .8, .2, 1); }
.wp-pcpost.is-open .wp-pcpost__card { transform: none; }
.wp-pcpost__icon { display: inline-grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--wp-accent-soft); color: var(--wp-accent); }
.wp-pcpost__icon svg { width: 32px; height: 32px; }
.wp-pcpost__title { margin: 14px 0 0; padding: 0; color: var(--wp-text); font-size: 18px; font-weight: 600; line-height: 1.4; }
.wp-pcpost__text { margin: 8px 0 0; padding: 0; color: var(--wp-text-2); font-size: 14px; line-height: 1.7; text-wrap: pretty; }
.wp-pcpost__url { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; margin: 14px 0 0; padding: 6px 12px; box-sizing: border-box; border-radius: 999px; background: var(--wp-surface-2); box-shadow: inset 0 0 0 1px var(--wp-border); color: var(--wp-text); font-size: 13px; font-weight: 500; line-height: 1.4; }
.wp-pcpost__url svg { flex: none; width: 14px; height: 14px; color: var(--wp-text-3); }
.wp-pcpost__url span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wp-pcpost__btns { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 20px 0 0; }
.wp-pcpost__btn { height: 42px; margin: 0; padding: 0 12px; border: 0; border-radius: 21px; background: transparent; box-shadow: inset 0 0 0 1px var(--wp-border); color: var(--wp-text); font: inherit; font-size: 15px; font-weight: 500; cursor: pointer; -webkit-tap-highlight-color: transparent; transition: background-color .2s, transform .1s; }
.wp-pcpost__btn:active { transform: scale(.97); }
.wp-pcpost__btn--primary { background: var(--wp-accent-fill); box-shadow: none; color: #FFFFFF; }


/* ---------- 8. Other pages ---------- */
/* ---------- Page head ---------- */
.wp-pagehead { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px; margin: 0 0 24px; padding: 20px; overflow: hidden; border: 1px solid var(--wp-border); border-radius: 8px; background: var(--wp-surface); box-shadow: none; isolation: isolate; }
.wp-pagehead::before { content: ""; position: absolute; top: 0; right: 0; bottom: 0; z-index: -1; width: 46%; background: radial-gradient(60% 90% at 100% 0%, var(--wp-accent-soft), transparent 70%), radial-gradient(50% 80% at 80% 100%, var(--wp-blue-soft), transparent 70%); pointer-events: none; }
.wp-pagehead__icon { flex: none; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 12px; background: var(--wp-accent-fill); color: #FFFFFF; box-shadow: 0 6px 14px -6px rgba(255, 102, 153, .6); }
.wp-pagehead__icon .wp-i { width: 28px; height: 28px; stroke-width: 2; }
.wp-pagehead__main { flex: 1 1 240px; min-width: 0; }
.wp-pagehead__title { margin: 0; color: var(--wp-text); font-size: 22px; font-weight: 500; line-height: 1.35; overflow-wrap: anywhere; }
.wp-pagehead__desc { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 6px; margin: 4px 0 0; color: var(--wp-text-3); font-size: 13px; line-height: 1.6; }
.wp-pagehead__desc:empty { display: none; }
.wp-pagehead__desc strong { color: var(--wp-text-2); font-weight: 500; }
.wp-pagehead__desc .pipe { margin: 0 4px; color: var(--wp-border-2); }
.wp-pagehead__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.wp-pagehead--tag .wp-pagehead__title { font-size: 26px; }
.wp-pagehead--tag .wp-pagehead__icon { background: var(--wp-blue-fill); box-shadow: 0 6px 14px -6px rgba(0, 174, 236, .6); }
.wp-guide .mn, .wp-tagpage { overflow: visible; }

/* ---------- Inline search ---------- */
.wp-inlinesearch { display: flex; align-items: center; gap: 8px; flex: 0 1 380px; height: 40px; margin: 0; padding: 0 4px 0 12px; box-sizing: border-box; border: 1px solid var(--wp-border); border-radius: 8px; background: var(--wp-surface-3); transition: border-color .2s, background-color .2s; }
.wp-inlinesearch:focus-within { border-color: var(--wp-blue); background: var(--wp-bg); }
.wp-inlinesearch > .wp-i { flex: none; width: 17px; height: 17px; color: var(--wp-text-3); }
.wp-inlinesearch .wp-inlinesearch__input { flex: 1; min-width: 0; height: 100%; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--wp-text); font-size: 14px; box-shadow: none; outline: 0; }
.wp-inlinesearch .wp-btn { flex: none; height: 32px; padding: 0 14px; border-radius: 6px; }
.wp-inlinesearch .wp-btn em { font-style: normal; }

/* ---------- Tag cloud ---------- */
.wp-tagcloud.taglist { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; min-height: 0; }
.wp-tagcloud .wp-empty { flex: 1 1 100%; }
.wp-tagcloud__item { display: inline-flex; align-items: center; gap: 6px; height: 32px; margin: 0 !important; padding: 0 14px; box-sizing: border-box; border: 0; border-radius: 16px; background: var(--wp-surface-2); color: var(--wp-text-2) !important; font-size: 14px; font-weight: 400; line-height: 1 !important; white-space: nowrap; text-decoration: none !important; transition: background-color .2s, color .2s, transform .2s; }
.wp-tagcloud__item em { padding: 0 6px; border-radius: 8px; background: var(--wp-bg); color: var(--wp-text-3); font-size: 11px; font-style: normal; line-height: 16px; font-variant-numeric: tabular-nums; }
.wp-tagcloud__item:hover { background: var(--wp-blue-soft); color: var(--wp-blue) !important; transform: translateY(-2px); }
.wp-tagcloud__item--1 { height: 28px; padding: 0 12px; font-size: 13px; }
.wp-tagcloud__item--3 { height: 36px; color: var(--wp-text) !important; font-size: 15px; }
.wp-tagcloud__item--4 { height: 40px; padding: 0 18px; border-radius: 20px; background: var(--wp-blue-soft); color: var(--wp-blue) !important; font-size: 16px; font-weight: 500; }
.wp-tagcloud__item--4 em { color: var(--wp-blue); }
.wp-tagcloud__item--5 { height: 44px; padding: 0 20px; border-radius: 22px; background: var(--wp-accent-fill); color: #FFFFFF !important; font-size: 17px; font-weight: 500; box-shadow: 0 8px 18px -10px rgba(255, 102, 153, .8); }
.wp-tagcloud__item--5 em { background: rgba(255, 255, 255, .25); color: #FFFFFF; }
.wp-tagcloud__item--5:hover { background: var(--wp-accent-hover); color: #FFFFFF !important; }

/* ---------- Article list (tag page) ---------- */
.wp-articles { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 16px; }
.wp-article { display: flex; gap: 12px; min-width: 0; padding: 12px; border: 1px solid var(--wp-border); border-radius: 8px; background: var(--wp-surface); transition: border-color .2s; }
.wp-article:hover { border-color: var(--wp-blue); }
.wp-article__pic { flex: none; width: 160px; aspect-ratio: 16 / 9; border-radius: 6px; overflow: hidden; background: var(--wp-surface-3); }
.wp-article__pic img { display: block; width: 100%; height: 100%; object-fit: cover; }
.wp-article__body { flex: 1; min-width: 0; }
.wp-article__title { margin: 0 0 6px; font-size: 15px; font-weight: 500; line-height: 22px; }
.wp-article__title a { color: var(--wp-text); }
.wp-article__title a:hover { color: var(--wp-blue); }
.wp-article__summary { display: -webkit-box; margin: 0 0 6px; overflow: hidden; color: var(--wp-text-2); font-size: 13px; line-height: 1.6; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.wp-article__meta { color: var(--wp-text-3); font-size: 12px; }
.wp-article__meta a { color: var(--wp-text-2); }

/* ---------- Search head ---------- */
.wp-searchhead { position: relative; display: flex; flex-direction: column; margin: 12px 0 28px; padding: 24px 0 0; border: 0; border-radius: 0; background: transparent; text-align: center; box-shadow: none; }
.wp-searchhead__brand { order: 0; }
.wp-searchhead__form { order: 1; width: 100%; max-width: 640px; margin: 0 auto; }
#scform_tb.wp-searchhead__tabs { order: 2; }
.wp-searchhead__hot { order: 3; }
.wp-searchhead .wp-hero__eyebrow { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 12px; border-radius: 14px; background: var(--wp-accent-soft); color: var(--wp-accent); font-size: 13px; }
.wp-searchhead .wp-hero__eyebrow .wp-i { width: 16px; height: 16px; }
.wp-searchhead__brand h1 { margin: 12px 0 20px; color: var(--wp-text); font-size: 30px; font-weight: 600; letter-spacing: .02em; line-height: 1.2; }
.wp-searchhead__box { display: flex; align-items: center; gap: 8px; min-width: 0; height: 50px; padding: 0 5px 0 16px; box-sizing: border-box; border: 1px solid var(--wp-border); border-radius: 8px; background: var(--wp-bg); box-shadow: 0 2px 10px -4px rgba(0, 0, 0, .08); transition: border-color .2s, box-shadow .2s; }
.wp-searchhead__box:focus-within { border-color: var(--wp-blue); box-shadow: 0 0 0 3px var(--wp-blue-soft); }
.wp-searchhead__box > .wp-i { flex: none; width: 20px; height: 20px; color: var(--wp-text-3); }
#scform_srchtxt.wp-searchhead__input { flex: 1; width: auto; min-width: 0; height: 100%; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--wp-text); font-size: 16px; line-height: normal; box-shadow: none; outline: 0; }
#scform_submit.wp-searchhead__submit { flex: none; width: auto; height: 38px; padding: 0 22px; border: 0; border-radius: 6px; background: var(--wp-blue-fill); color: #FFFFFF; font-size: 15px; box-shadow: none; cursor: pointer; transition: background-color .2s; }
#scform_submit.wp-searchhead__submit::before { content: none; }
#scform_submit.wp-searchhead__submit strong { display: inline; font-weight: 500; }
#scform_submit.wp-searchhead__submit:hover { background: var(--wp-blue-hover); }
#scform_tb.wp-searchhead__tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 28px; margin: 22px 0 0; border-bottom: 1px solid var(--wp-line); }
#scform_tb.wp-searchhead__tabs a { position: relative; float: none; display: inline-flex; align-items: center; height: 40px; margin: 0; padding: 0; border: 0; background: none; color: var(--wp-text-2) !important; font-size: 15px; line-height: 1; text-decoration: none !important; }
#scform_tb.wp-searchhead__tabs a:hover { color: var(--wp-blue) !important; }
#scform_tb.wp-searchhead__tabs a.a { color: var(--wp-blue) !important; font-weight: 500; }
#scform_tb.wp-searchhead__tabs a.a::before { content: none; display: none; }
#scform_tb.wp-searchhead__tabs a.a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; border-radius: 1px; background: var(--wp-blue-fill); }
.wp-searchhead__links { display: flex; justify-content: center; gap: 18px; margin-top: 10px; font-size: 13px; }
.wp-searchhead__links a { color: var(--wp-text-3) !important; text-decoration: none !important; }
.wp-searchhead__links a:hover { color: var(--wp-blue) !important; }
.wp-searchhead__hot { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; max-width: 720px; margin: 16px auto 0; color: var(--wp-text-3); font-size: 13px; }
.wp-searchhead.is-compact { margin: 0 0 20px; padding: 0; text-align: left; }
.wp-searchhead.is-compact .wp-searchhead__form { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; max-width: 760px; margin: 0 auto; }
.wp-searchhead.is-compact .wp-searchhead__box { flex: 1 1 420px; min-width: 0; height: 46px; }
.wp-searchhead.is-compact #scform_submit.wp-searchhead__submit { height: 36px; padding: 0 20px; }
.wp-searchhead.is-compact .wp-searchhead__links { margin: 0; }
.wp-searchhead.is-compact #scform_tb.wp-searchhead__tabs { justify-content: flex-start; margin-top: 16px; }
.wp-sec__head.sttl { margin: 0 0 14px; padding: 0; border: 0; background: none; }
.wp-searchresult .slst { width: auto; }
.wp-searchresult .wp-grid a { text-decoration: none; }

/* search module (search.php) resets */
html body#nv_search { background: var(--wp-bg) !important; }
#nv_search #ct { margin-left: auto; margin-right: auto; }
#nv_search .slst { width: auto; max-width: 860px; }
#nv_search .wp-searchresult .slst { max-width: none; }
#nv_search .slst a { text-decoration: none; }
#nv_search .slst a:visited { color: var(--wp-blue); }
#nv_search .slst p span { color: var(--wp-success); }
#nv_search .pg { float: right; }
#nv_search .searchform > p { margin: -12px 0 20px; color: var(--wp-text-3); font-size: 12px; text-align: center; }
#nv_search .tl .sttl h2 { font-size: 18px; }
#nv_search #ft.wp-footer { margin: 40px 0 0; text-align: left; }

/* ---------- Guide (popular-page style tabs) ---------- */
.wp-poptabs { display: flex; align-items: center; gap: 6px; max-width: 100%; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.wp-poptabs::-webkit-scrollbar { display: none; }
.wp-poptab { display: inline-flex; align-items: center; gap: 8px; flex: none; height: 44px; padding: 0 16px 0 6px; border-radius: 22px; color: var(--wp-text-2) !important; font-size: 14px; white-space: nowrap; text-decoration: none !important; transition: background-color .2s, color .2s; }
.wp-poptab:hover { background: var(--wp-surface-3); color: var(--wp-text) !important; }
.wp-poptab.is-active { background: var(--wp-surface-3); color: var(--wp-text) !important; font-weight: 500; }
.wp-poptab__ico { display: grid; place-items: center; flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--wp-pop-c, #FF6699); color: #FFFFFF; }
.wp-poptab__ico .wp-i { width: 18px; height: 18px; stroke-width: 2; }
.wp-poptab:hover .wp-poptab__ico { animation: wp-jump .35s ease; }
.wp-poptab--1 { --wp-pop-c: #FF6699; }
.wp-poptab--2 { --wp-pop-c: #00AEEC; }
.wp-poptab--3 { --wp-pop-c: #FF6699; }
.wp-poptab--4 { --wp-pop-c: #00AEEC; }
.wp-poptab--5 { --wp-pop-c: #FF6699; }
.wp-poptab--6 { --wp-pop-c: #00AEEC; }
.wp-poptab--7 { --wp-pop-c: #9499A0; }
.wp-guide .wp-subtabs { padding-bottom: 12px; border-bottom: 1px solid var(--wp-line); }
.wp-myfilter { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; padding: 10px 0; color: var(--wp-text-2); font-weight: 400; }
.wp-myfilter select, .wp-myfilter .px { height: 32px; }
.wp-guide #threadlist.tl { margin-bottom: 20px; }

/* ---------- Space header ---------- */
#uhd.wp-space { position: relative; margin: 0 0 20px; padding: 0; border: 0; border-radius: 8px; background: var(--wp-elevated); box-shadow: 0 0 0 1px var(--wp-line); }
.wp-space__banner { position: relative; display: flex; align-items: flex-end; min-height: clamp(150px, 21vh, 200px); padding: 20px 24px 22px; box-sizing: border-box; border-radius: 8px 8px 0 0; background: var(--wp-media-bg) var(--wp-banner-art, linear-gradient(135deg, #FF8CB0, #40C5F1)) center / cover no-repeat; isolation: isolate; }
.wp-space__banner::after { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: linear-gradient(180deg, rgba(0, 0, 0, .06) 0%, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, .58) 100%); }
.wp-space__banner.has-image { background-position: center; background-size: cover; }
.wp-space__inner { display: flex; align-items: center; gap: 16px; width: 100%; min-width: 0; }
.wp-space__avatar { flex: none; display: block; width: 72px; height: 72px; box-sizing: border-box; border: 2px solid rgba(255, 255, 255, .5); border-radius: 50%; background: var(--wp-surface-3); }
.wp-space__avatar img { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.wp-space__info { flex: 1; min-width: 0; color: #FFFFFF; }
.wp-space__name { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin: 0; color: #FFFFFF; font-size: 20px; font-weight: 600; line-height: 28px; text-shadow: 0 1px 3px rgba(0, 0, 0, .35); }
.wp-space__lv { display: inline-flex; align-items: center; height: 18px; padding: 0 6px; border-radius: 3px; background: var(--wp-accent-fill); color: #FFFFFF; font-size: 12px; font-weight: 400; line-height: 1; text-shadow: none; }
.wp-space__online { width: 8px; height: 8px; border-radius: 50%; background: #2AC864; box-shadow: 0 0 0 2px rgba(255, 255, 255, .7); }
.wp-space__bk, .wp-space__bk a { color: rgba(255, 255, 255, .85) !important; font-size: 12px; font-weight: 400; }
.wp-space__sign { margin: 4px 0 0; overflow: hidden; color: rgba(255, 255, 255, .9); font-size: 13px; line-height: 20px; white-space: nowrap; text-overflow: ellipsis; text-shadow: 0 1px 2px rgba(0, 0, 0, .35); }
.wp-space__acts { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; flex: none; }
.wp-space__acts .wp-btn { height: 34px; padding: 0 16px; border-radius: 6px; font-size: 14px; }
.wp-space__acts .wp-btn .wp-i { width: 16px; height: 16px; }
.wp-space__acts .wp-btn--blue { min-width: 96px; }
/* admin 管理 dropdown in the banner corner (theme wp-dd, click to open) */
.wp-space__manage { position: absolute; top: 12px; right: 16px; z-index: 2; }
.wp-space__managebtn { display: inline-flex; align-items: center; gap: 4px; height: 28px; margin: 0; padding: 0 8px 0 10px; box-sizing: border-box; border: 1px solid rgba(255, 255, 255, .24); border-radius: 14px; background: rgba(0, 0, 0, .28); color: #FFFFFF; font: inherit; font-size: 13px; line-height: 1; cursor: pointer; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); transition: background-color .2s, border-color .2s; }
.wp-space__managebtn .wp-i { flex: none; width: 15px; height: 15px; }
.wp-space__managebtn .wp-space__caret { width: 13px; height: 13px; margin-left: 1px; opacity: .85; transition: transform .2s; }
.wp-space__managebtn:hover, .wp-space__manage.is-open > .wp-space__managebtn { border-color: rgba(255, 255, 255, .36); background: rgba(0, 0, 0, .44); }
.wp-space__manage.is-open .wp-space__caret { transform: rotate(180deg); }
.wp-space__managemenu { min-width: 176px; }
.wp-space__managemenu > .wp-dd__sep:first-child { display: none; }
.wp-space__managemenu .wp-dd__label:first-child { padding-top: 4px; }
/* the tab bar comes later in the page: keep the open menu above it */
.wp-space__banner:has(> .wp-space__manage.is-open) { z-index: 3; }
.wp-space .flw_hd { display: flex; align-items: center; gap: 12px; color: #FFFFFF; }
.wp-space .flw_hd .tns { display: none; }
.wp-space .flw_hd .o { display: flex; align-items: center; gap: 8px; margin: 0; }
.wp-space .flw_hd .o span, .wp-space .flw_hd .o a { float: none; color: rgba(255, 255, 255, .9) !important; }
.wp-space .flw_hd .flw_btn_fo { display: inline-flex; align-items: center; height: 34px; padding: 0 18px; border-radius: 6px; background: var(--wp-blue-fill); color: #FFFFFF !important; font-size: 14px; }
.wp-space__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0 24px; padding: 0 24px; }
.wp-space__tabs { display: flex; flex-wrap: wrap; align-items: center; gap: 0 28px; min-width: 0; margin: 0; padding: 0; }
.wp-space__tabs li { list-style: none; }
.wp-space__tabs a { position: relative; display: inline-flex; align-items: center; gap: 6px; height: 64px; color: var(--wp-text) !important; font-size: 15px; white-space: nowrap; }
.wp-space__tabs .wp-i { width: 20px; height: 20px; color: var(--wp-text-3); transition: color .2s; }
.wp-space__tabs em { color: var(--wp-text-3); font-size: 12px; font-style: normal; font-variant-numeric: tabular-nums; }
.wp-space__tabs a:hover, .wp-space__tabs a:hover .wp-i { color: var(--wp-blue) !important; }
.wp-space__tabs li.a a, .wp-space__tabs li.a .wp-i { color: var(--wp-blue) !important; }
.wp-space__tabs li.a a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; border-radius: 2px 2px 0 0; background: var(--wp-blue-fill); }
.wp-space__stats { display: flex; align-items: center; gap: 28px; margin-left: auto; padding: 12px 0; }
.wp-space__stat { display: flex; flex-direction: column; align-items: center; gap: 2px; color: var(--wp-text-3) !important; font-size: 12px; line-height: 16px; white-space: nowrap; }
.wp-space__stat b { color: var(--wp-text); font-size: 14px; font-weight: 500; line-height: 20px; font-variant-numeric: tabular-nums; }
a.wp-space__stat:hover, a.wp-space__stat:hover b { color: var(--wp-blue) !important; }

/* ---------- Space profile body ---------- */
.bm_c:has(> .u_profile), .bm_c.u_profile { padding: 0 !important; }
/* a user's 投稿 tab prints the thread list in the same .bm_c: the switch, heading and cards line up with the tab card above */
.pg_space .bm_c:has(> .wp-mytb, > .wp-sec__head, > .wp-feed, > .wp-empty) { padding: 0 !important; }
.u_profile > .pbm, .u_profile > #psts, .u_profile > .cl:not(.pbm) { margin: 0 0 16px !important; padding: 18px 20px !important; border: 0 !important; border-radius: 8px; background: var(--wp-elevated); box-shadow: 0 0 0 1px var(--wp-line); }
.u_profile h2.mbn, .u_profile h2.mbm { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin: 0 0 12px !important; color: var(--wp-text); font-size: 16px; font-weight: 500; line-height: 24px; }
.u_profile h2.mbn::before, .u_profile h2.mbm::before { content: ""; flex: none; width: 3px; height: 14px; border-radius: 2px; background: var(--wp-blue-fill); }
.u_profile h2 .xw0 { color: var(--wp-text-3); font-size: 13px; font-weight: 400; }
.u_profile ul { margin: 0; padding: 0; }
.u_profile ul + ul { margin-top: 8px; }
/* lists whose items are all conditional (the first one is usually empty since Email / 邮箱状态 were dropped) take no room */
.u_profile ul:not(:has(li)) { display: none !important; }
.u_profile .pbm.mbm, .u_profile ul.pbm { padding-bottom: 0 !important; }
.u_profile .bbda { border-bottom: 0 !important; }
.u_profile li { padding: 4px 0; list-style: none; color: var(--wp-text-2); font-size: 14px; line-height: 22px; }
.u_profile li a { color: var(--wp-blue); }
.u_profile li a:hover { color: var(--wp-blue-hover); }
.u_profile li em, .u_profile li em.xg1, .u_profile li em.xg2 { display: inline-block; min-width: 88px; margin-right: 12px; color: var(--wp-text-3); font-style: normal; }
.u_profile li table td { color: var(--wp-text-2); }
.u_profile .pf_l { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 0 24px; }
.u_profile .pf_l li { display: flex; align-items: baseline; width: auto; float: none; }
.u_profile .pf_l li em { flex: none; float: none; width: 88px; min-width: 0; text-align: left; }
.u_profile .pipe { margin: 0 8px; color: var(--wp-text-4); }
.u_profile .md_ctrl img { width: 36px; height: 36px; margin: 0 8px 8px 0; }
.u_profile #pcr { width: 100%; }

/* ---------- Auth (login / register) ---------- */
.wp-authwrap { padding-top: 36px; padding-bottom: 48px; }
.wp-auth { position: relative; display: grid; grid-template-columns: 320px minmax(0, 1fr); max-width: 860px; min-height: 480px; margin: 0 auto; overflow: hidden; border-radius: 8px; background: var(--wp-elevated); box-shadow: 0 0 30px rgba(0, 0, 0, .08), 0 0 0 1px var(--wp-line); }
.wp-auth--reg { grid-template-columns: 300px minmax(0, 1fr); max-width: 980px; }
/* The title and its line of text sit clear of the art, about two thirds of the way down. They used to be pinned to the column's bottom
   edge, which read as the base of a taller block back when a list of perks followed them; the true middle of the plain area below the
   art reads too low as well, because the gradient's mask makes it look finished long before its 62% actually ends.
   The rows below are the knob: the text's centre lands at 28px + (1 - second/200) of the content height. There is no bottom padding, so
   that height runs to the card's edge. */
.wp-auth__art { position: relative; display: grid; grid-template-rows: 30fr 70fr; min-width: 0; padding: 28px 28px 0; box-sizing: border-box; background: var(--wp-surface-2); color: var(--wp-text); isolation: isolate; }
.wp-auth__arttext { grid-row: 2; align-self: center; }
.wp-auth__art::before { content: ""; position: absolute; top: 0; left: 0; right: 0; z-index: -1; height: 62%; background: var(--wp-banner-art, linear-gradient(135deg, #FFECF1, #DFF6FD)) center / cover no-repeat; -webkit-mask-image: linear-gradient(180deg, #000 50%, transparent); mask-image: linear-gradient(180deg, #000 50%, transparent); }
.wp-auth__art.has-image { background-position: center top; background-size: cover; background-repeat: no-repeat; }
.wp-auth__art.has-image::before { display: none; }
.wp-auth__art.has-image::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, transparent 15%, var(--wp-surface-2) 62%); }
.wp-auth__brand { position: absolute; top: 20px; left: 20px; display: inline-flex; align-items: center; gap: 5px; height: 28px; padding: 0 12px; border-radius: 14px; background: var(--wp-elevated); color: var(--wp-accent); font-size: 13px; font-weight: 500; box-shadow: 0 2px 8px rgba(0, 0, 0, .08); }
/* the kaomoji in place of an icon: lighter than the site name beside it, and never italic despite the <em> */
.wp-auth__kao { flex: none; font-style: normal; font-weight: 400; line-height: 1; }
.wp-auth__arttext h2 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; margin: 0 0 6px; color: var(--wp-text); font-size: 22px; font-weight: 600; line-height: 30px; }
.wp-auth__arttext h2 em { color: var(--wp-accent); font-size: 14px; font-style: normal; font-weight: 400; white-space: nowrap; }
.wp-auth__arttext p { margin: 0; color: var(--wp-text-2); font-size: 13px; line-height: 20px; }
.wp-auth__panel { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 40px 56px 36px; box-sizing: border-box; }
.wp-auth__top { display: flex; align-items: center; justify-content: center; margin: 0 0 26px; }
.wp-auth__title { margin: 0; color: var(--wp-blue); font-size: 18px; font-weight: 500; line-height: 26px; }
.wp-auth__switch { display: flex; align-items: center; margin: 0; color: var(--wp-text-2); font-size: 18px; line-height: 26px; }
.wp-auth__switch::before { content: ""; width: 1px; height: 18px; margin: 0 22px; background: var(--wp-border); }
.wp-auth__switch a { color: var(--wp-text-2) !important; }
.wp-auth__switch a:hover { color: var(--wp-blue) !important; }
.wp-authbox { width: 100%; }
.wp-authbox .flb { height: auto; margin: 0; padding: 0; border: 0; background: none; line-height: 1.6; }
.wp-authbox .flb em { display: block; margin: 0 0 12px; color: var(--wp-danger); font-size: 13px; font-style: normal; }
.wp-authbox .flb em:empty { display: none; }
.wp-authbox .c { padding: 0; }
.wp-authbox .rfm { width: auto; max-width: none; margin: 0 0 14px; padding: 0; border: 0; }
.wp-authbox .rfm table, .wp-authbox .rfm tbody { display: block; width: 100%; }
.wp-authbox .rfm tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 6px 12px; }
.wp-authbox .rfm th, .wp-authbox .rfm td { display: block; width: auto; padding: 0; line-height: 1.5; text-align: left; }
.wp-authbox .rfm th { color: var(--wp-text-2); font-size: 14px; font-weight: 400; }
.wp-authbox .rfm td { min-width: 0; color: var(--wp-text-2); }
.wp-authbox .rfm td.tipcol { font-size: 13px; white-space: nowrap; }
.wp-authbox .rfm td.tipcol a { color: var(--wp-blue) !important; }
.wp-authbox .rfm td.tipwide { color: var(--wp-text-3); font-size: 12px; }
.wp-authbox .rfm .px, .wp-authbox .rfm .p_fre, .wp-authbox .rfm select, .wp-authbox .rfm textarea { width: 100% !important; max-width: 100%; }
.wp-authbox .rfm .px.vm, .wp-authbox .rfm .sec_code .px { width: 120px !important; }
.wp-authbox .rfm .px, .wp-authbox .rfm select { height: 40px; padding: 0 12px; box-sizing: border-box; border: 1px solid var(--wp-border); border-radius: 6px; background-color: var(--wp-bg); color: var(--wp-text); font-size: 14px; line-height: 38px; box-shadow: none; }
.wp-authbox .rfm .px:hover, .wp-authbox .rfm select:hover { border-color: var(--wp-border-2); }
.wp-authbox .rfm .px:focus, .wp-authbox .rfm select:focus { border-color: var(--wp-blue); background-color: var(--wp-bg); box-shadow: none; outline: 0; }
.wp-authbox .rfm .ftid { width: 100%; }
.wp-authbox .rfm .sec_code, .wp-authbox .rfm .sec_code_ipt { max-width: 100%; }
.wp-authbox .rfm td > br + span, .wp-authbox .rfm td img { vertical-align: middle; }
.wp-authbox .rfm td img { margin: 0 8px 0 4px; border-radius: 4px; }
.wp-authbox .rq { color: var(--wp-accent); }

/* login: grouped fields (label | input | link) */
.wp-authgroup { margin: 0 0 14px; border: 1px solid var(--wp-border); border-radius: 8px; background: var(--wp-bg); transition: border-color .2s; }
.wp-authgroup:focus-within { border-color: var(--wp-border-2); }
.wp-authgroup > .rfm { margin: 0; }
.wp-authgroup > .rfm + .rfm { border-top: 1px solid var(--wp-border); }
.wp-authgroup .rfm tr { grid-template-columns: 76px minmax(0, 1fr) auto; gap: 0 12px; min-height: 44px; padding: 0 16px 0 20px; }
.wp-authgroup .rfm th { grid-column: 1; color: var(--wp-text); white-space: nowrap; }
.wp-authgroup .rfm td { grid-column: 2; }
.wp-authgroup .rfm td.tipcol { grid-column: 3; }
.wp-authgroup .rfm .px, .wp-authgroup .rfm select { height: 44px; padding: 0; border: 0 !important; border-radius: 0; background-color: transparent !important; line-height: 44px; }
/* 浏览器自动填充（记住的用户名 / 密码）：Chrome / Edge 给填好的框刷一层浅蓝、background 盖不住，在这里显成一块没铺满整行的色块；
   用同色内阴影盖掉，文字颜色跟正常一致。Firefox 走 :autofill，单独一条免得整条规则在不认的浏览器里失效 */
.wp-authgroup .rfm input:-webkit-autofill, .wp-authgroup .rfm input:-webkit-autofill:hover, .wp-authgroup .rfm input:-webkit-autofill:focus { -webkit-text-fill-color: var(--wp-text); caret-color: var(--wp-text); -webkit-box-shadow: 0 0 0 1000px var(--wp-bg) inset; box-shadow: 0 0 0 1000px var(--wp-bg) inset; }
.wp-authgroup .rfm input:autofill { -webkit-text-fill-color: var(--wp-text); caret-color: var(--wp-text); box-shadow: 0 0 0 1000px var(--wp-bg) inset; filter: none; }
.wp-authgroup .rfm select { padding-right: 20px; color: var(--wp-text-2); }
.wp-authgroup .login_slct { display: inline-block; }
.wp-authgroup .login_slct a, .wp-authgroup .login_slct select { float: none !important; height: 44px; padding: 0 16px 0 0; border: 0; background-color: transparent; color: var(--wp-text) !important; font-size: 14px; line-height: 44px; }
.wp-authgroup .rfm td > br { display: none; }
.wp-authgroup .rfm .sec_code, .wp-authgroup .rfm td > span { display: inline-flex; align-items: center; gap: 8px; }
/* rows Discuz inserts by script: captcha / security Q&A arrive wrapped in span#seccode_* / span#secqaa_*; label follows the first line (input) */
.wp-authgroup > span[id^="seccode_"], .wp-authgroup > span[id^="secqaa_"] { display: block; }
.wp-authgroup > span[id^="seccode_"] > .rfm, .wp-authgroup > span[id^="secqaa_"] > .rfm { margin: 0; }
/* ~ rather than +: the hidden 安全提问 / answer rows and their inline script sit between the password row and the captcha span */
.wp-authgroup > .rfm:not([style*="none"]) ~ span > .rfm, .wp-authgroup > span ~ span > .rfm { border-top: 1px solid var(--wp-border); }
.wp-authgroup .rfm tr { align-items: start; }
.wp-authgroup .rfm th, .wp-authgroup .rfm td.tipcol { min-height: 44px; line-height: 44px; }
.wp-authgroup .rfm td { display: flex; flex-wrap: wrap; align-items: center; column-gap: 8px; min-height: 44px; color: var(--wp-text-3); font-size: 13px; }
.wp-authgroup .rfm td br { display: none; }
/* the captcha / security answer fields sit bare in their row like 用户名 and 密码 above (no grey box, no focus ring; user, 2026-09-17) */
.wp-authgroup .rfm td .px.vm { flex: 1 1 90px; width: auto !important; min-width: 0; height: 44px; margin: 0; padding: 0; border-radius: 0; background-color: transparent !important; font-size: 14px; line-height: 44px; }
.wp-authgroup .rfm td .px.vm:focus { box-shadow: none; }
.wp-authgroup .rfm td .xi2 { white-space: nowrap; }
.wp-authgroup .rfm td img { margin: 0; }
.wp-authgroup .rfm td [id^="vseccode_"] { display: inline-flex; align-items: center; padding: 0 0 8px; }
.wp-authgroup .rfm td [id^="vseccode_"] img { max-height: 40px; cursor: pointer; }
/* login captcha row (inserted by Discuz script): input, image and 换一个 on one line; the hint text is hidden. The cell also takes the empty
   link column, so 换一个 lines up with 找回密码 above it */
.wp-authgroup .rfm td:has(> input[name="seccodeverify"]) { grid-column: 2 / 4; flex-wrap: nowrap; column-gap: 0; font-size: 0; }
.wp-authgroup .rfm td > input.px[name="seccodeverify"] { order: 1; flex: 1 1 0%; min-width: 64px; margin: 0 8px 0 0; font-size: 14px; }
.wp-authgroup .rfm td > [id^="vseccode_"] { order: 2; flex: none; margin: 0 10px 0 0; padding: 0; }
.wp-authgroup .rfm td > [id^="vseccode_"] img { display: block; width: 96px; height: 34px; max-height: none; border-radius: 6px; background: var(--wp-surface-2); object-fit: contain; }
.wp-authgroup .rfm td > a.xi2 { order: 3; flex: none; font-size: 13px; }
/* check mark Discuz fills in after typing (loading / check_right / check_error image): drawn inside the input's right edge and taking no room
   in the row; anything else it holds (the blank placeholder, whose file name differs between installs) stays hidden */
.wp-authgroup .rfm td > [id^="checkseccodeverify_"] { order: 1; flex: none; display: none; position: relative; z-index: 1; width: 16px; height: 16px; margin: 0 16px 0 -32px; pointer-events: none; }
.wp-authgroup .rfm td > [id^="checkseccodeverify_"]:has(img[src*="check_"], img[src*="loading"]) { display: flex; }
.wp-authgroup .rfm td > [id^="checkseccodeverify_"] img { display: block; width: 16px; height: 16px; }
.wp-authgroup .rfm td:has(> [id^="checkseccodeverify_"] img[src*="check_"], > [id^="checkseccodeverify_"] img[src*="loading"]) > input.px[name="seccodeverify"] { padding-right: 32px; }
.wp-auth__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 22px; color: var(--wp-text-2); font-size: 13px; }
.wp-auth__check { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.wp-auth__check .pc { margin: 0; }
.wp-auth__help { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 6px; color: var(--wp-text-3) !important; }
.wp-auth__help:hover { background: var(--wp-surface-3); color: var(--wp-blue) !important; }
.wp-auth__submit { display: flex; gap: 20px; margin: 0; }
.wp-auth__submit > * { flex: 1 1 0; min-width: 0; }
.wp-btn.wp-auth__regbtn { height: 40px; border-radius: 8px; font-size: 14px; }
.wp-authbox .pn.wp-auth__btn { display: flex; align-items: center; justify-content: center; width: 100%; height: 40px; margin: 0; padding: 0 20px; border: 0; border-radius: 8px; background: var(--wp-blue-fill); color: #FFFFFF !important; font-size: 14px; box-shadow: none; cursor: pointer; transition: background-color .2s; }
.wp-authbox .pn.wp-auth__btn:hover { background: var(--wp-blue-hover); }
.wp-authbox .pn.wp-auth__btn:active { opacity: .9; }
.wp-authbox .pn.wp-auth__btn strong, .wp-authbox .pn.wp-auth__btn span { padding: 0; color: inherit; font-size: inherit; font-weight: 400; line-height: 1; }
.wp-auth__social { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 18px; }
.wp-auth__social:empty { display: none; }
.wp-auth__methods { margin-top: 26px; }
.wp-auth__or { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; color: var(--wp-text-3); font-size: 13px; white-space: nowrap; }
.wp-auth__or::before, .wp-auth__or::after { content: ""; flex: 1; height: 1px; background: var(--wp-line); }
.wp-auth__methods > div { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px; }
.wp-auth__back { margin: 16px 0 0; text-align: center; font-size: 14px; }
.wp-auth__back a { display: inline-flex; align-items: center; gap: 4px; color: var(--wp-text-2) !important; }
.wp-auth__back a:hover { color: var(--wp-blue) !important; }
.wp-authwrap .nfl .f_c { margin-top: 20px; }

/* register specifics */
.wp-authbox--reg #layer_reg { padding: 0; }
.wp-authbox--reg #layer_reg .mtw { margin-top: 0; }
.wp-authbox--reg #returnmessage4:empty { display: none; }
.wp-authbox--reg #returnmessage4 { margin: 0 0 14px; padding: 10px 14px; border-radius: 6px; background: var(--wp-danger-soft); color: var(--wp-danger); font-size: 13px; }
.wp-authbox--reg .rfm { margin: 0 0 16px; }
.wp-authbox--reg .rfm tr { grid-template-columns: 84px minmax(0, 320px) 20px; justify-content: center; align-items: start; gap: 4px 12px; }
/* English labels (Confirm Password:, Security Question:) need a wider label column; the phone layout stacks labels anyway, and so does the
   email-first step (.wp-authbox--mail, one column): excluded here, the attribute selector would outrank its single-column grid */
@media (min-width: 768px) { html[lang|="en"] .wp-authbox--reg:not(.wp-authbox--mail) .rfm tr { grid-template-columns: 148px minmax(0, 320px) 20px; } }
.wp-authbox--reg .rfm th { grid-column: 1; grid-row: 1; line-height: 40px; text-align: right; white-space: nowrap; }
.wp-authbox--reg .rfm td { grid-column: 2; grid-row: 1; }
.wp-authbox--reg .rfm td.tipcol { grid-column: 2; grid-row: 2; font-size: 12px; text-align: left; white-space: normal; }
/* Discuz marks a valid field with p_right on td.tipcol: its tip, error text and ::after tick become grid items of the row */
.wp-authbox--reg .rfm td.tipcol:has(> .p_tip, > .p_chk) { display: contents; }
.wp-authbox--reg .rfm td.tipcol > .p_tip { grid-column: 2; grid-row: 2; }
.wp-authbox--reg .rfm td.tipcol > .p_chk { grid-column: 2; grid-row: 3; }
.wp-authbox--reg .rfm td.tipcol.p_right::after { grid-column: 3; grid-row: 1; align-self: center; width: 18px; height: 18px; margin: 0; }
.wp-authbox--reg .rfm td.tipwide { grid-column: 2 / -1; grid-row: auto; }
.wp-authbox--reg .rfm .p_tip, .wp-authbox--reg .rfm .p_chk { position: static; width: auto; padding: 0; background: none; font-family: inherit; line-height: 1.6; }
.wp-authbox--reg .rfm .p_tip { color: var(--wp-text-3); }
.wp-authbox--reg .rfm .p_chk { color: var(--wp-danger); }
.wp-authbox--reg .rfm .p_chk:empty { display: none; }
.wp-authbox--reg .rfm td br { display: none; }
.wp-authbox--reg .rfm td label, .wp-authbox--reg .rfm td .lb { margin-right: 14px; }
.wp-authbox--reg #emailmore { display: block; color: var(--wp-text-3); font-size: 12px; font-style: normal; }
/* captcha row (inserted by Discuz script): input, image and 换一个 on one line; the "输入下图中的字符" text is hidden (font-size 0) */
.wp-authbox--reg .rfm td:has(> input[name="seccodeverify"]) { display: flex; flex-wrap: nowrap; align-items: center; font-size: 0; line-height: 0; }
.wp-authbox--reg .rfm td > input[name="seccodeverify"] { flex: 1 1 auto; width: auto !important; min-width: 0; margin: 0 8px 0 0; font-size: 14px; }
.wp-authbox--reg .rfm td > [id^="vseccode_"] { order: 2; flex: none; display: flex; margin: 0 10px 0 0; }
.wp-authbox--reg .rfm td > [id^="vseccode_"] img { display: block; width: 112px; height: 40px; margin: 0; border-radius: 6px; background: var(--wp-surface-2); object-fit: contain; cursor: pointer; }
.wp-authbox--reg .rfm td > a.xi2 { order: 3; flex: none; font-size: 13px; line-height: 40px; white-space: nowrap; }
.wp-authbox--reg .rfm td > [id^="checkseccodeverify_"] { order: 4; flex: none; display: flex; margin: 0 0 0 6px; }
.wp-authbox--reg .rfm td > [id^="checkseccodeverify_"]:has(img[src*="none.gif"]) { display: none; }
.wp-authbox--reg .rfm td > [id^="checkseccodeverify_"] img { margin: 0; }
.wp-authbox--reg #layer_reginfo_b .rfm { margin: 24px 0 0; }
.wp-authbox--reg #layer_reginfo_b .rfm th { line-height: 1; }
.wp-authbox--reg #layer_reginfo_b .rfm td + td { grid-column: 2; grid-row: 2; }
.wp-authbox--reg #layer_reginfo_b .rfm td:empty { display: none; }
.wp-authbox--reg #reginfo_a_btn { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 6px; color: var(--wp-text-2); font-size: 13px; }
.wp-authbox--reg #reginfo_a_btn em { display: none; }
.wp-authbox--reg #reginfo_a_btn .pn.wp-auth__btn { flex: 0 0 100%; margin: 0; }
.wp-authbox--reg #reginfo_a_btn .pc { margin: 0; }
.wp-authbox--reg #reginfo_a_btn label a { color: var(--wp-blue) !important; }
.wp-authbox--reg #layer_reginfo_b hr.l { margin: 0 0 12px; border: 0; border-top: 1px solid var(--wp-line); }
/* register: the success message replaces the form inside the card (Discuz hides #main_message and shows #main_succeed) */
.wp-auth__panel > .wp-regdone { min-height: 0; height: auto !important; margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
.wp-auth__panel .wp-regdone .f_c, .wp-auth__panel .wp-regdone.f_c { width: auto; max-width: 380px; margin: 0 auto; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.wp-auth__panel .wp-regdone .c { padding: 0; }
.wp-auth__panel .wp-regdone .alert_right { display: flex; flex-direction: column; align-items: center; min-height: 0; padding: 0; color: var(--wp-text); font-size: 14px; line-height: 1.7; text-align: center; }
.wp-auth__panel .wp-regdone .alert_right::before { position: static; flex: none; width: 64px; height: 64px; margin: 0 0 20px; }
.wp-regdone #succeedmessage, .wp-regdone #messageleft1 { margin: 0; color: var(--wp-text); font-size: 17px; font-weight: 600; line-height: 1.6; }
.wp-auth__panel .wp-regdone .alert_btnleft { margin: 0; }
/* register, email-first step (注册需先验证邮箱: theme member/register.php $sendurl): one centred 360px column with a small mail heading,
   labels above soft filled fields, a full-width 发送注册邮件 button and the mail note under it */
.wp-authbox--mail #registerform { max-width: 360px; margin: 0 auto; }
.wp-regmail__head { display: flex; flex-direction: column; align-items: center; margin: 0 0 24px; text-align: center; }
.wp-regmail__icon { display: grid; place-items: center; width: 48px; height: 48px; margin: 0 0 12px; border-radius: 50%; background: var(--wp-blue-soft); color: var(--wp-blue); }
.wp-regmail__icon .wp-i { width: 24px; height: 24px; }
.wp-regmail__head strong { color: var(--wp-text); font-size: 17px; font-weight: 600; line-height: 24px; }
.wp-regmail__head p { margin: 4px 0 0; color: var(--wp-text-3); font-size: 13px; line-height: 20px; }
.wp-authbox--mail .rfm { margin: 0 0 16px; }
.wp-authbox--mail .rfm tr { grid-template-columns: minmax(0, 1fr); justify-content: stretch; gap: 6px 0; }
.wp-authbox--mail .rfm th { grid-column: 1; grid-row: 1; color: var(--wp-text-2); font-size: 13px; line-height: 20px; text-align: left; }
.wp-authbox--mail .rfm td, .wp-authbox--mail .rfm td.tipwide { grid-column: 1; grid-row: 2; }
.wp-authbox--mail .rfm td.tipcol, .wp-authbox--mail .rfm td.tipcol > .p_tip { grid-column: 1; grid-row: 3; }
.wp-authbox--mail .rfm td.tipcol > .p_chk { grid-column: 1; grid-row: 4; }
.wp-authbox--mail .rfm td.tipcol.p_right::after { grid-column: 1; grid-row: 2; justify-self: end; margin-right: 12px; }
.wp-authbox--mail .rfm .px { height: 44px; padding: 0 14px; border-color: transparent; border-radius: 10px; background-color: var(--wp-surface-2); transition: border-color .2s, background-color .2s, box-shadow .2s; }
.wp-authbox--mail .rfm .px::placeholder { color: var(--wp-text-3); }
.wp-authbox--mail .rfm .px:hover { border-color: var(--wp-border); }
.wp-authbox--mail .rfm .px:focus { border-color: var(--wp-blue); background-color: var(--wp-bg); box-shadow: 0 0 0 3px var(--wp-blue-soft); }
.wp-authbox--mail #emailmore { height: 0; overflow: hidden; }
.wp-authbox--mail .rfm td > [id^="vseccode_"] img { height: 44px; border-radius: 10px; }
.wp-authbox--mail .rfm td > a.xi2 { line-height: 44px; }
.wp-authbox--mail #layer_reginfo_b .rfm { margin: 24px 0 0; }
.wp-authbox--mail #layer_reginfo_b .rfm th { display: none; }
.wp-authbox--mail #layer_reginfo_b .rfm td { grid-row: 1; }
.wp-authbox--mail #layer_reginfo_b .rfm td + td { grid-row: 2; }
.wp-authbox--mail #reginfo_a_btn .pn.wp-auth__btn { height: 44px; border-radius: 10px; font-size: 15px; }
.wp-regmail__note { display: flex; gap: 8px; margin: 16px 0 0; padding: 12px 14px; border-radius: 10px; background: var(--wp-surface-2); color: var(--wp-text-3); font-size: 12px; line-height: 19px; }
.wp-regmail__note .wp-i { flex: none; width: 16px; height: 16px; margin-top: 2px; color: var(--wp-blue); }
/* 获取邀请码 link under the invite code field (style variables wp_invite_on / wp_invite_text / wp_invite_url); the field's check mark
   stays level with the input instead of the taller cell */
.wp-authbox .rfm td > .wp-invitelink { display: inline-flex; align-items: flex-start; gap: 4px; max-width: 100%; margin: 8px 0 0; color: var(--wp-blue) !important; font-size: 13px; line-height: 20px; vertical-align: top; }
.wp-invitelink span { min-width: 0; overflow-wrap: anywhere; }
.wp-invitelink .wp-i { flex: none; width: 15px; height: 15px; margin-top: 2.5px; }
.wp-invitelink__go { transition: transform .2s; }
.wp-authbox .rfm td > .wp-invitelink:hover { color: var(--wp-blue-hover) !important; }
.wp-invitelink:hover .wp-invitelink__go { transform: translateX(2px); }
.wp-authbox--reg .rfm tr:has(.wp-invitelink) td.tipcol.p_right::after { align-self: start; margin-top: 11px; }
.wp-regdone #succeedlocation, .wp-regdone #messageright1 { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 24px; }
.wp-regdone #succeedlocation:empty, .wp-regdone #messageright1:empty { display: none; }
.wp-regdone #succeedlocation a, .wp-regdone #messageright1 a { display: inline-flex; align-items: center; justify-content: center; min-width: 136px; height: 40px; padding: 0 20px; box-sizing: border-box; border-radius: 8px; background: var(--wp-surface-2); color: var(--wp-text) !important; font-size: 14px; font-weight: 500; text-decoration: none !important; transition: background-color .2s, color .2s; }
.wp-regdone #succeedlocation a:hover, .wp-regdone #messageright1 a:hover { background: var(--wp-surface-3); color: var(--wp-blue) !important; }
.wp-regdone #succeedlocation a:first-child, .wp-regdone #messageright1 a:first-child { background: var(--wp-blue-fill); color: #FFFFFF !important; }
.wp-regdone #succeedlocation a:first-child:hover, .wp-regdone #messageright1 a:first-child:hover { background: var(--wp-blue-hover); color: #FFFFFF !important; }
.wp-regdone #succeedmessage_href { display: inline-block; margin-top: 16px; color: var(--wp-text-3) !important; font-size: 12px; text-decoration: none !important; }
.wp-regdone #succeedmessage_href:hover { color: var(--wp-blue) !important; }
.wp-bbrule { color: var(--wp-text-2); font-size: 14px; line-height: 1.8; }

/* popup login */
.wp-authbox--float { width: 440px; max-width: calc(100vw - 32px); }
.wp-authbox--float .flb { display: flex; align-items: center; justify-content: space-between; padding: 22px 24px 16px; }
.wp-authbox--float .flb::after { display: none; }
.wp-authbox--float .flb em { margin: 0; color: var(--wp-text); font-size: 18px; font-weight: 500; }
.wp-authbox--float .flb em.onerror, .wp-authbox--float .flb em.alert_error { color: var(--wp-danger); font-size: 14px; }
.wp-authbox--float .c { padding: 0 24px 24px; }
/* the same form loaded into the guest "please log in" message card (showmessage #messagelogin, infloat&frommessage): it fills the card,
   Discuz's .nfl .f_c .rfm { width: 500px } and cell padding are released, and the card narrows to a login width */
.nfl .f_c:has(> #messagelogin) { max-width: 440px; }
#messagelogin { margin: 20px 0 0; padding: 0; border-top: 1px solid var(--wp-line); }
#messagelogin .wp-authbox--float { width: auto; max-width: none; }
#messagelogin .wp-authbox--float .flb { padding: 20px 0 14px; }
#messagelogin .wp-authbox--float .c { padding: 0; }
#messagelogin .wp-authbox .rfm { width: auto; }
#messagelogin .wp-authbox .rfm th, #messagelogin .wp-authbox .rfm td { padding: 0; }
/* message text centred on its icon (the icon is centred on the box; a one-line message sat 8px above it) */
.nfl .f_c > #messagetext { display: flex; flex-direction: column; justify-content: center; }
.fwin .rfm { border-bottom-color: transparent; }
.rfm .tipcol { white-space: nowrap; }

/* ---------- Misc bits ---------- */
.wp-thumb__ph--lock { background: repeating-linear-gradient(135deg, var(--wp-surface-2) 0 12px, var(--wp-surface-3) 12px 24px); color: var(--wp-text-3); }

/* ---------- Part 3 responsive ---------- */
@media (max-width: 1023px) {
	.wp-auth, .wp-auth--reg { grid-template-columns: minmax(0, 1fr); max-width: 560px; min-height: 0; }
	.wp-auth__art { display: none; }
	.wp-auth__panel { padding: 36px 40px 32px; }
	.wp-searchhead__brand h1 { font-size: 26px; }
}
@media (max-width: 767px) {
	.wp-pagehead { gap: 12px; margin-bottom: 16px; padding: 14px; }
	.wp-pagehead__icon { width: 44px; height: 44px; border-radius: 10px; }
	.wp-pagehead__icon .wp-i { width: 22px; height: 22px; }
	.wp-pagehead__main { flex-basis: calc(100% - 60px); }
	.wp-pagehead__title, .wp-pagehead--tag .wp-pagehead__title { font-size: 19px; }
	.wp-pagehead__desc { font-size: 12px; }
	.wp-pagehead .wp-segs, .wp-pagehead .wp-inlinesearch { flex: 1 1 100%; }
	.wp-pagehead__actions { flex: 1 1 100%; }
	.wp-pagehead__actions .wp-btn { flex: 1; }
	.wp-tagcloud.taglist { gap: 8px; }
	.wp-tagcloud__item--4 { height: 36px; font-size: 15px; }
	.wp-tagcloud__item--5 { height: 40px; padding: 0 16px; font-size: 16px; }
	.wp-articles { grid-template-columns: 1fr; }
	.wp-article__pic { width: 120px; }
	.wp-searchhead { margin-bottom: 16px; padding-top: 8px; }
	.wp-searchhead__brand h1 { margin: 10px 0 14px; font-size: 21px; }
	#scform_tb.wp-searchhead__tabs { flex-wrap: nowrap; justify-content: flex-start; gap: 0 20px; margin: 14px -12px 0; padding: 0 12px; overflow-x: auto; scrollbar-width: none; }
	#scform_tb.wp-searchhead__tabs::-webkit-scrollbar { display: none; }
	#scform_tb.wp-searchhead__tabs a { flex: none; height: 36px; font-size: 14px; }
	.wp-searchhead__box { height: 44px; padding: 0 4px 0 12px; }
	.wp-searchhead__box > .wp-i { display: none; }
	#scform_srchtxt.wp-searchhead__input { font-size: 16px; }
	#scform_submit.wp-searchhead__submit { height: 36px; padding: 0 16px; }
	.wp-searchhead__hot { justify-content: flex-start; flex-wrap: nowrap; margin: 14px -12px 0; padding: 0 12px; overflow-x: auto; scrollbar-width: none; }
	.wp-searchhead__hot::-webkit-scrollbar { display: none; }
	.wp-searchhead__hot span, .wp-searchhead__hot a { flex: none; }
	#nv_search .pg { float: none; }
	.wp-searchresult .wp-sec__head { flex-wrap: wrap; }
	.wp-searchresult .wp-sec__title { flex: 1 1 100%; flex-wrap: wrap; font-size: 17px; }
	.wp-searchresult .wp-sec__title em { font-size: 13px; }
	.wp-searchresult .wp-sec__tools { margin-left: auto; }
	.wp-fhead { flex-wrap: wrap; gap: 12px; padding: 14px; }
	.wp-fhead__stats { gap: 2px 14px; }
	.wp-fhead__stats > span + span::before { display: none; }
	.wp-fhead__icon { width: 52px; height: 52px; }
	.wp-fhead.has-banner .wp-fhead__icon { width: 64px; height: 64px; margin-top: -40px; border-radius: 14px; }
	.wp-fhead__title { font-size: 18px; line-height: 26px; }
	.wp-fbanner { height: 110px; }
	.wp-subchan { flex-direction: column; gap: 8px; }
	.wp-subchan__list { flex-wrap: nowrap; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
	.wp-subchan__list::-webkit-scrollbar { display: none; }
	.wp-subchan__item { flex: none; }
	.wp-poptab { height: 38px; padding: 0 12px 0 4px; font-size: 13px; }
	.wp-poptab__ico { width: 28px; height: 28px; }
	.wp-authwrap { padding-top: 4px; padding-bottom: 20px; }
	.wp-auth { box-shadow: 0 0 0 1px var(--wp-line); }
	.wp-auth__panel { padding: 24px 16px; }
	.wp-auth__top { margin-bottom: 20px; }
	.wp-authgroup .rfm tr { grid-template-columns: 64px minmax(0, 1fr) auto; padding: 0 12px 0 14px; }
	/* captcha row: 16px input text (iOS zooms into inputs with smaller text on focus), a narrower image and 换一个 as a refresh tile, so the input keeps ~75px on a 375px phone */
	.wp-authgroup .rfm td > input.px[name="seccodeverify"] { font-size: 16px; }
	.wp-authgroup .rfm td > [id^="vseccode_"] { margin-right: 6px; }
	.wp-authgroup .rfm td > [id^="vseccode_"] img { width: 88px; }
	.wp-authgroup .rfm td:has(> input[name="seccodeverify"]) > a.xi2 { display: grid; place-items: center; width: 28px; height: 34px; border-radius: 6px; background: var(--wp-surface-2); color: var(--wp-text-2) !important; font-size: 0; }
	.wp-authgroup .rfm td:has(> input[name="seccodeverify"]) > a.xi2::before { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8'/%3E%3Cpath d='M21 3v5h-5'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8'/%3E%3Cpath d='M21 3v5h-5'/%3E%3C/svg%3E") center / contain no-repeat; }
	.wp-authgroup .rfm td:has(> input[name="seccodeverify"]) > a.xi2:active { color: var(--wp-blue) !important; }
	.wp-auth__submit { gap: 12px; }
	.wp-authbox .rfm .px, .wp-authbox .rfm select { font-size: 16px; }
	.wp-authgroup .login_slct select, .wp-authgroup .login_slct a { font-size: 14px; }
	.wp-authbox--reg .rfm tr { grid-template-columns: minmax(0, 1fr); }
	.wp-authbox--reg .rfm th { grid-column: 1; grid-row: 1; line-height: 22px; text-align: left; }
	.wp-authbox--reg .rfm td, .wp-authbox--reg .rfm td.tipwide { grid-column: 1; grid-row: 2; }
	.wp-authbox--reg .rfm td.tipcol { grid-column: 1; grid-row: 3; }
	.wp-authbox--reg .rfm td.tipcol > .p_tip { grid-column: 1; grid-row: 3; }
	.wp-authbox--reg .rfm td.tipcol > .p_chk { grid-column: 1; grid-row: 4; }
	.wp-authbox--reg .rfm td.tipcol.p_right::after { grid-column: 1; grid-row: 2; justify-self: end; margin-right: 12px; }
	.wp-authbox--reg .rfm td:has(+ td.tipcol.p_right) .px { padding-right: 38px; }
	.wp-authbox--reg #layer_reginfo_b .rfm th { display: none; }
	.wp-authbox--reg #layer_reginfo_b .rfm td { grid-row: 1; }
	.wp-authbox--float .flb { padding: 16px 18px 12px; }
	.wp-authbox--float .c { padding: 0 18px 18px; }
}




/* ---------- Font icons (generated) ---------- */
.fico-emoji::before, .fico-emojifill::before, .fico-collection::before, .fico-assessment::before, .fico-error::before, .fico-headset::before, .fico-attachment::before, .fico-doing::before, .fico-email::before, .fico-bell::before, .fico-activitysm::before, .fico-cart::before, .fico-add_circle::before, .fico-add::before, .fico-clock::before, .fico-dropdown::before, .fico-ban::before, .fico-checkbox::before, .fico-check_right::before, .fico-account::before, .fico-account_box::before, .fico-moon::before, .fico-star2::before, .fico-refresh::before, .fico-list::before, .fico-person::before, .fico-invalid::before, .fico-help::before, .fico-down::before, .fico-replyfast::before, .fico-group::before, .fico-print::before, .fico-image::before, .fico-launch::before, .fico-info::before, .fico-follow::before, .fico-comment::before, .fico-valid::before, .fico-voice::before, .fico-place::before, .fico-push::before, .fico-tag::before, .fico-phone::before, .fico-settings::before, .fico-thread::before, .fico-imgadjust::before, .fico-vs::before, .fico-camera::before, .fico-checked::before, .fico-styleselect::before, .fico-right::before, .fico-lock::before, .fico-share::before, .fico-rss_feed::before, .fico-rss::before, .fico-left::before, .fico-poke::before, .fico-loading::before, .fico-mypost::before, .fico-link::before, .fico-interactive::before, .fico-friendadd::before, .fico-home::before, .fico-delete::before, .fico-widthauto::before, .fico-remove_circle::before, .fico-remove::before, .fico-edit::before, .fico-widthfixed::before, .fico-sun::before, .fico-star3::before, .fico-profile::before, .fico-thumbup::before, .fico-volume::before, .fico-scrolltop::before, .fico-star::before, .fico-star1::before, .fico-thumbdown::before, .fico-vote::before, .fico-task::before, .fico-up::before, .fico-stars::before, .fico-search::before, .fico-reward::before { content: "" !important; display: inline-block; width: 1.15em; height: 1.15em; margin-right: .3em; background: currentColor; -webkit-mask: var(--wp-fico) center / contain no-repeat; mask: var(--wp-fico) center / contain no-repeat; font-family: inherit !important; font-size: 100% !important; line-height: 1; vertical-align: -.2em; }
.fico-emoji, .fico-emojifill { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M8 14s1.5 2 4 2 4-2 4-2'/%3E%3Cpath d='M9 9h.01M15 9h.01' stroke-width='3'/%3E%3C/svg%3E"); }
.fico-collection { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v1.5'/%3E%3Cpath d='M13.9 17.45c-1.2-1.2-1.14-2.8-.2-3.73a2.43 2.43 0 0 1 3.44 0l.36.34.34-.34a2.43 2.43 0 0 1 3.45-.01c.95.95 1 2.53-.2 3.74L17.5 21Z'/%3E%3C/svg%3E"); }
.fico-assessment { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v16a2 2 0 0 0 2 2h16'/%3E%3Cpath d='M18 17V9M13 17V5M8 17v-3'/%3E%3C/svg%3E"); }
.fico-error, .fico-invalid { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m15 9-6 6M9 9l6 6'/%3E%3C/svg%3E"); }
.fico-headset { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-5Zm0 0a9 9 0 1 1 18 0m0 0v5a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3Z'/%3E%3Cpath d='M21 16v2a4 4 0 0 1-4 4h-5'/%3E%3C/svg%3E"); }
.fico-attachment { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.44 11.05-9.19 9.19a6 6 0 0 1-8.49-8.49l8.57-8.57A4 4 0 1 1 18 8.84l-8.59 8.57a2 2 0 0 1-2.83-2.83l8.49-8.48'/%3E%3C/svg%3E"); }
.fico-doing { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.38 3.62a1 1 0 0 1 3 3L7.37 18.64a2 2 0 0 1-.85.5l-2.87.84a.5.5 0 0 1-.62-.62l.84-2.87a2 2 0 0 1 .5-.85z'/%3E%3C/svg%3E"); }
.fico-email { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E"); }
.fico-bell { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.27 21a2 2 0 0 0 3.46 0'/%3E%3Cpath d='M3.26 15.33A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.67C19.41 13.96 18 12.5 18 8A6 6 0 0 0 6 8c0 4.5-1.41 5.96-2.74 7.33'/%3E%3C/svg%3E"); }
.fico-activitysm { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4M16 2v4'/%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E"); }
.fico-cart { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E"); }
.fico-add_circle, .fico-add { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M8 12h8M12 8v8'/%3E%3C/svg%3E"); }
.fico-clock { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E"); }
.fico-dropdown, .fico-down { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); }
.fico-ban { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m4.9 4.9 14.2 14.2'/%3E%3C/svg%3E"); }
.fico-checkbox { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='3' rx='3'/%3E%3C/svg%3E"); }
.fico-check_right { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }
.fico-account, .fico-person { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E"); }
.fico-account_box { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='3' rx='3'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3Cpath d='M7 21v-2a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2'/%3E%3C/svg%3E"); }
.fico-moon { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3C/svg%3E"); }
.fico-star2, .fico-star3, .fico-star, .fico-star1 { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.52 2.3a.53.53 0 0 1 .95 0l2.31 4.68a2.12 2.12 0 0 0 1.6 1.16l5.16.76a.53.53 0 0 1 .3.9l-3.74 3.64a2.12 2.12 0 0 0-.61 1.88l.88 5.14a.53.53 0 0 1-.77.56l-4.62-2.43a2.12 2.12 0 0 0-1.97 0L6.4 21.02a.53.53 0 0 1-.77-.56l.88-5.14a2.12 2.12 0 0 0-.61-1.88L2.16 9.8a.53.53 0 0 1 .29-.9l5.17-.76a2.12 2.12 0 0 0 1.6-1.16z'/%3E%3C/svg%3E"); }
.fico-refresh { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8'/%3E%3Cpath d='M21 3v5h-5'/%3E%3Cpath d='M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16'/%3E%3Cpath d='M8 16H3v5'/%3E%3C/svg%3E"); }
.fico-list { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 6h13M8 12h13M8 18h13'/%3E%3Cpath d='M3.5 6h.01M3.5 12h.01M3.5 18h.01' stroke-width='3'/%3E%3C/svg%3E"); }
.fico-help { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' 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%3Cpath d='M12 17h.01' stroke-width='3'/%3E%3C/svg%3E"); }
.fico-replyfast { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 18v-2a4 4 0 0 0-4-4H4'/%3E%3Cpath d='m9 17-5-5 5-5'/%3E%3C/svg%3E"); }
.fico-group { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E"); }
.fico-print { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2'/%3E%3Cpath d='M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6'/%3E%3Crect x='6' y='14' width='12' height='8' rx='1'/%3E%3C/svg%3E"); }
.fico-image { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='3' rx='2'/%3E%3Ccircle cx='9' cy='9' r='2'/%3E%3Cpath d='m21 15-3.09-3.09a2 2 0 0 0-2.82 0L6 21'/%3E%3C/svg%3E"); }
.fico-launch { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M10 14 21 3M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3C/svg%3E"); }
.fico-info { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4'/%3E%3Cpath d='M12 8h.01' stroke-width='3'/%3E%3C/svg%3E"); }
.fico-follow, .fico-friendadd { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M19 8v6M22 11h-6'/%3E%3C/svg%3E"); }
.fico-comment { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' 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"); }
.fico-valid { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }
.fico-voice { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z'/%3E%3Cpath d='M19 10v2a7 7 0 0 1-14 0v-2M12 19v3'/%3E%3C/svg%3E"); }
.fico-place { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 4.99-5.54 10.19-7.4 11.8a1 1 0 0 1-1.2 0C9.54 20.19 4 14.99 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
.fico-push, .fico-scrolltop { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 7-7 7 7M12 19V5'/%3E%3C/svg%3E"); }
.fico-tag { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12.59 2.59A2 2 0 0 0 11.17 2H4a2 2 0 0 0-2 2v7.17a2 2 0 0 0 .59 1.42l8.7 8.7a2.43 2.43 0 0 0 3.42 0l6.58-6.58a2.43 2.43 0 0 0 0-3.42z'/%3E%3Cpath d='M7.5 7.5h.01' stroke-width='3'/%3E%3C/svg%3E"); }
.fico-phone { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='14' height='20' x='5' y='2' rx='2'/%3E%3Cpath d='M12 18h.01' stroke-width='3'/%3E%3C/svg%3E"); }
.fico-settings { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' 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"); }
.fico-thread, .fico-mypost { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M16 13H8M16 17H8M10 9H8'/%3E%3C/svg%3E"); }
.fico-imgadjust { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2v14a2 2 0 0 0 2 2h14'/%3E%3Cpath d='M18 22V8a2 2 0 0 0-2-2H2'/%3E%3C/svg%3E"); }
.fico-vs { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 17.5 3 6V3h3l11.5 11.5M13 19l6-6M16 16l4 4M19 21l2-2M14.5 6.5 18 3h3v3l-3.5 3.5M5 14l4 4M7 17l-3 3M3 19l2 2'/%3E%3C/svg%3E"); }
.fico-camera { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z'/%3E%3Ccircle cx='12' cy='13' r='3'/%3E%3C/svg%3E"); }
.fico-checked { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='3' rx='3'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }
.fico-styleselect { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.93 0 1.65-.75 1.65-1.69 0-.44-.18-.84-.44-1.13-.29-.29-.44-.65-.44-1.13a1.64 1.64 0 0 1 1.67-1.67h2c3.05 0 5.55-2.5 5.55-5.55C21.97 6.01 17.46 2 12 2z'/%3E%3Cpath d='M13.5 6.5h.01M17.5 10.5h.01M8.5 7.5h.01M6.5 12.5h.01' stroke-width='3'/%3E%3C/svg%3E"); }
.fico-right { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E"); }
.fico-lock { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='11' x='3' y='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E"); }
.fico-share { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' 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%3Cpath d='m8.59 13.51 6.83 3.98M15.41 6.51l-6.82 3.98'/%3E%3C/svg%3E"); }
.fico-rss_feed, .fico-rss { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11a9 9 0 0 1 9 9M4 4a16 16 0 0 1 16 16'/%3E%3Cpath d='M5 19h.01' stroke-width='4'/%3E%3C/svg%3E"); }
.fico-left { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 18-6-6 6-6'/%3E%3C/svg%3E"); }
.fico-poke { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 11V6a2 2 0 0 0-4 0v5M14 10V4a2 2 0 0 0-4 0v2M10 10.5V6a2 2 0 0 0-4 0v8'/%3E%3Cpath d='M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15'/%3E%3C/svg%3E"); }
.fico-loading { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 1 1-6.22-8.56'/%3E%3C/svg%3E"); }
.fico-link { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' 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"); }
.fico-interactive { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z'/%3E%3Cpath d='M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1'/%3E%3C/svg%3E"); }
.fico-home { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8'/%3E%3Cpath d='M3 10a2 2 0 0 1 .71-1.53l7-6a2 2 0 0 1 2.58 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3C/svg%3E"); }
.fico-delete { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2'/%3E%3C/svg%3E"); }
.fico-widthauto { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 3H5a2 2 0 0 0-2 2v3M21 8V5a2 2 0 0 0-2-2h-3M3 16v3a2 2 0 0 0 2 2h3M16 21h3a2 2 0 0 0 2-2v-3'/%3E%3C/svg%3E"); }
.fico-remove_circle, .fico-remove { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M8 12h8'/%3E%3C/svg%3E"); }
.fico-edit { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.17 6.81a1 1 0 0 0-3.99-3.99L3.84 16.17a2 2 0 0 0-.5.83l-1.32 4.35a.5.5 0 0 0 .62.62l4.35-1.32a2 2 0 0 0 .83-.5z'/%3E%3Cpath d='m15 5 4 4'/%3E%3C/svg%3E"); }
.fico-widthfixed { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 3v3a2 2 0 0 1-2 2H3M21 8h-3a2 2 0 0 1-2-2V3M3 16h3a2 2 0 0 1 2 2v3M16 21v-3a2 2 0 0 1 2-2h3'/%3E%3C/svg%3E"); }
.fico-sun { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E"); }
.fico-profile { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 10h2M16 14h2'/%3E%3Cpath d='M6.17 15a3 3 0 0 1 5.66 0'/%3E%3Ccircle cx='9' cy='11' r='2'/%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3C/svg%3E"); }
.fico-thumbup { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 10v12'/%3E%3Cpath d='M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z'/%3E%3C/svg%3E"); }
.fico-volume { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 4.7a.7.7 0 0 0-1.2-.5L6.4 7.6A1.4 1.4 0 0 1 5.4 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.4a1.4 1.4 0 0 1 1 .4l3.4 3.4a.7.7 0 0 0 1.2-.5z'/%3E%3Cpath d='M16 9a5 5 0 0 1 0 6M19.36 18.36a9 9 0 0 0 0-12.73'/%3E%3C/svg%3E"); }
.fico-thumbdown { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 14V2'/%3E%3Cpath d='M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z'/%3E%3C/svg%3E"); }
.fico-vote { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3Cpath d='M5 7c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v12H5V7Z'/%3E%3Cpath d='M22 19H2'/%3E%3C/svg%3E"); }
.fico-task { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='6' height='6' rx='1'/%3E%3Cpath d='m3 17 2 2 4-4M13 6h8M13 12h8M13 18h8'/%3E%3C/svg%3E"); }
.fico-up { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m18 15-6-6-6 6'/%3E%3C/svg%3E"); }
.fico-stars { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.94 15.5A2 2 0 0 0 8.5 14.06l-6.14-1.58a.5.5 0 0 1 0-.96L8.5 9.94A2 2 0 0 0 9.94 8.5l1.58-6.14a.5.5 0 0 1 .96 0l1.58 6.14a2 2 0 0 0 1.44 1.44l6.14 1.58a.5.5 0 0 1 0 .96l-6.14 1.58a2 2 0 0 0-1.44 1.44l-1.58 6.14a.5.5 0 0 1-.96 0z'/%3E%3Cpath d='M20 3v4M22 5h-4'/%3E%3C/svg%3E"); }
.fico-search { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E"); }
.fico-reward { --wp-fico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='6'/%3E%3Cpath d='M15.48 12.89 17 22l-5-3-5 3 1.52-9.11'/%3E%3C/svg%3E"); }
.fnmr::before, .fnmr:before { margin-right: 0 !important; }
.fifx::before { transform: scaleX(-1); }
.fico-loading::before { animation: wp-spin 1s linear infinite; }
/* dzicon glyphs in pseudo-elements */
.nvhm { display: inline-flex !important; align-items: center; justify-content: center; width: 18px; height: 18px !important; overflow: hidden; font-size: 0 !important; vertical-align: middle; }
.nvhm::before { content: "" !important; flex: none; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--wp-ic2) center / contain no-repeat; mask: var(--wp-ic2) center / contain no-repeat; --wp-ic2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8'/%3E%3Cpath d='M3 10a2 2 0 0 1 .71-1.53l7-6a2 2 0 0 1 2.58 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3C/svg%3E"); }
.alert_right::before, .alert_error::before, .alert_info::before { content: "" !important; top: 50%; left: 10px; width: 32px; height: 32px; margin-top: -16px; background: currentColor; font-size: 0 !important; line-height: 0 !important; -webkit-mask: var(--wp-ic2) center / contain no-repeat; mask: var(--wp-ic2) center / contain no-repeat; }
.alert_right::before { --wp-ic2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); color: var(--wp-success) !important; }
.alert_error::before { --wp-ic2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01' stroke-width='3'/%3E%3C/svg%3E"); color: var(--wp-notice) !important; }
.alert_info::before { --wp-ic2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4'/%3E%3Cpath d='M12 8h.01' stroke-width='3'/%3E%3C/svg%3E"); color: var(--wp-accent) !important; }
.tbms::before, .notice::before, .oshr::before, .p_right::after, .tg_yes::before, .tg_no::before, #uhd .mn li::before { --wp-ic2: linear-gradient(transparent, transparent); content: "" !important; display: inline-block; width: 16px; height: 16px; background: currentColor; font-size: 0 !important; line-height: 0 !important; vertical-align: -3px; -webkit-mask: var(--wp-ic2) center / contain no-repeat; mask: var(--wp-ic2) center / contain no-repeat; }
.tbms::before { --wp-ic2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01' stroke-width='3'/%3E%3C/svg%3E"); margin-right: 6px; color: var(--wp-danger); }
.tbms_r::before { --wp-ic2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); color: var(--wp-success); }
.notice::before { --wp-ic2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.27 21a2 2 0 0 0 3.46 0'/%3E%3Cpath d='M3.26 15.33A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.67C19.41 13.96 18 12.5 18 8A6 6 0 0 0 6 8c0 4.5-1.41 5.96-2.74 7.33'/%3E%3C/svg%3E"); margin-right: 5px; color: var(--wp-notice); }
.oshr::before { --wp-ic2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' 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%3Cpath d='m8.59 13.51 6.83 3.98M15.41 6.51l-6.82 3.98'/%3E%3C/svg%3E"); margin-right: 4px; color: var(--wp-notice); }
.ofav::before { --wp-ic2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.52 2.3a.53.53 0 0 1 .95 0l2.31 4.68a2.12 2.12 0 0 0 1.6 1.16l5.16.76a.53.53 0 0 1 .3.9l-3.74 3.64a2.12 2.12 0 0 0-.61 1.88l.88 5.14a.53.53 0 0 1-.77.56l-4.62-2.43a2.12 2.12 0 0 0-1.97 0L6.4 21.02a.53.53 0 0 1-.77-.56l.88-5.14a2.12 2.12 0 0 0-.61-1.88L2.16 9.8a.53.53 0 0 1 .29-.9l5.17-.76a2.12 2.12 0 0 0 1.6-1.16z'/%3E%3C/svg%3E"); }
.p_right::after { --wp-ic2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); margin-left: 8px; color: var(--wp-success); }
.tg_yes::before { --wp-ic2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M8 12h8M12 8v8'/%3E%3C/svg%3E"); }
.tg_no::before { --wp-ic2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M8 12h8'/%3E%3C/svg%3E"); }
#uhd .mn li::before { margin-right: 4px; color: var(--wp-accent); }
#uhd .mn .addflw::before, #uhd .mn .addf::before { --wp-ic2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M19 8v6M22 11h-6'/%3E%3C/svg%3E"); }
#uhd .mn .pm2::before { --wp-ic2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E"); }
.nophoto::before { content: "" !important; display: block; width: 28px; height: 28px; margin: 0 auto; background: currentColor; font-size: 0 !important; line-height: 0 !important; --wp-ic2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='3' rx='2'/%3E%3Ccircle cx='9' cy='9' r='2'/%3E%3Cpath d='m21 15-3.09-3.09a2 2 0 0 0-2.82 0L6 21'/%3E%3C/svg%3E"); -webkit-mask: var(--wp-ic2) center / contain no-repeat; mask: var(--wp-ic2) center / contain no-repeat; }
.notice_pm::before, .notice_all::before, .notice_mypost::before, .notice_interactive::before, .notice_system::before, .notice_manage::before, .notice_app::before, .prompt_news::before, .prompt_news_0::before, .prompt_follower::before, .prompt_follower_0::before, .prompt_concern::before { content: "" !important; display: block; width: 17px; height: 17px; background: currentColor; font-size: 0 !important; line-height: 0 !important; -webkit-mask: var(--wp-ic2) center / contain no-repeat; mask: var(--wp-ic2) center / contain no-repeat; }
.notice_pm::before, .prompt_news::before, .prompt_news_0::before { --wp-ic2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E"); }
.notice_all::before, .prompt_follower::before, .prompt_follower_0::before { --wp-ic2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E"); }
.notice_mypost::before { --wp-ic2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M16 13H8M16 17H8M10 9H8'/%3E%3C/svg%3E"); }
.notice_interactive::before { --wp-ic2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z'/%3E%3Cpath d='M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1'/%3E%3C/svg%3E"); }
.notice_system::before { --wp-ic2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' 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"); }
.notice_manage::before { --wp-ic2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3C/svg%3E"); }
.notice_app::before { --wp-ic2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='6' height='6' rx='1'/%3E%3Cpath d='m3 17 2 2 4-4M13 6h8M13 12h8M13 18h8'/%3E%3C/svg%3E"); }
.prompt_concern::before { --wp-ic2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M19 8v6M22 11h-6'/%3E%3C/svg%3E"); }
#newspecial_menu { min-width: 176px; margin-top: 8px; padding: 6px; }
#newspecial_menu li { display: flex; align-items: center; height: auto; margin: 0 0 2px; padding: 0; border-radius: 10px; background-color: transparent !important; transition: background-color .15s; }
#newspecial_menu li:last-child { margin-bottom: 0; }
#newspecial_menu li:hover { background-color: var(--wp-surface-2) !important; }
#newspecial_menu li::before, #sti .wx::before { --wp-ic2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4M16 13H8M16 17H8M10 9H8'/%3E%3C/svg%3E"); content: "" !important; flex: none; width: 36px; height: 38px; margin: 0; background: currentColor; color: var(--wp-accent); font-size: 0 !important; line-height: 0 !important; vertical-align: middle; -webkit-mask: var(--wp-ic2) center / 18px 18px no-repeat; mask: var(--wp-ic2) center / 18px 18px no-repeat; }
#newspecial_menu .poll::before, #sti .poll::before { --wp-ic2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3Cpath d='M5 7c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v12H5V7Z'/%3E%3Cpath d='M22 19H2'/%3E%3C/svg%3E"); }
#newspecial_menu .trade::before, #sti .trade::before { --wp-ic2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E"); }
#newspecial_menu .reward::before, #sti .reward::before { --wp-ic2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='6'/%3E%3Cpath d='M15.48 12.89 17 22l-5-3-5 3 1.52-9.11'/%3E%3C/svg%3E"); }
#newspecial_menu .activity::before, #sti .activity::before { --wp-ic2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4M16 2v4'/%3E%3Crect width='18' height='18' x='3' y='4' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/svg%3E"); }
#newspecial_menu .debate::before, #sti .debate::before { --wp-ic2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 17.5 3 6V3h3l11.5 11.5M13 19l6-6M16 16l4 4M19 21l2-2M14.5 6.5 18 3h3v3l-3.5 3.5M5 14l4 4M7 17l-3 3M3 19l2 2'/%3E%3C/svg%3E"); }
#newspecial_menu li.plugin_special_thread::before { -webkit-mask: none; mask: none; background-color: transparent; }
#newspecial_menu a { flex: 1; display: block; height: 38px; margin: 0; padding: 0 16px 0 0 !important; border: 0; border-radius: 0 10px 10px 0; background: transparent !important; color: var(--wp-text) !important; line-height: 38px; white-space: nowrap; text-decoration: none !important; }
#newspecial_menu a:hover { color: var(--wp-text) !important; text-decoration: none !important; }
#newspecial_menu a:focus { outline: none; }
.gm::before, .gs::before { content: "" !important; width: 16px; height: 16px; border: 0; border-radius: 5px; background-position: center; background-repeat: no-repeat; background-size: 11px; }
.gm::before { background-color: #00AEEC; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E"); }
.gs::before { background-color: #8E44AD; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11.52 2.3a.53.53 0 0 1 .95 0l2.31 4.68a2.12 2.12 0 0 0 1.6 1.16l5.16.76a.53.53 0 0 1 .3.9l-3.74 3.64a2.12 2.12 0 0 0-.61 1.88l.88 5.14a.53.53 0 0 1-.77.56l-4.62-2.43a2.12 2.12 0 0 0-1.97 0L6.4 21.02a.53.53 0 0 1-.77-.56l.88-5.14a2.12 2.12 0 0 0-.61-1.88L2.16 9.8a.53.53 0 0 1 .29-.9l5.17-.76a2.12 2.12 0 0 0 1.6-1.16z'/%3E%3C/svg%3E"); }
/* ---------- /Font icons ---------- */

/* default-template bits: notice centre nav (icon and label share one pill, the whole row is clickable), member badges, success tips */
.tbn li:has(> em[class^="notice_"]) { position: relative; display: flex; align-items: center; gap: 10px; height: 40px; padding: 0 12px; border-radius: 10px; color: var(--wp-text-3); transition: background-color .2s, color .2s; }
.tbn li:has(> em[class^="notice_"]):hover { background: var(--wp-surface-2); color: var(--wp-text-2); }
.tbn li.a:has(> em[class^="notice_"]) { background: var(--wp-blue-soft); color: var(--wp-blue); }
.tbn li > em[class^="notice_"] { float: none; flex: none; margin: 0; color: inherit; }
.tbn li > em[class^="notice_"] + a { flex: 1; min-width: 0; padding: 0; background: transparent !important; color: var(--wp-text-2); line-height: 40px; }
.tbn li > em[class^="notice_"] + a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.tbn li:has(> em[class^="notice_"]):hover > a { color: var(--wp-text); }
.tbn li.a > em[class^="notice_"] + a { color: var(--wp-blue); }
.tbms_r { border-color: var(--wp-success); background: var(--wp-success-soft); }

/* ---------- Discuz DIY mode ---------- */
/* the simple-mode tip (#samplepanel) sits in the flow above the header and the DIY panel is fixed at z-index 200: keep the bar in the header instead of fixed on top */
.wp-diymode .wp-top__bar { position: absolute; }
.wp-diymode #samplepanel { position: relative; z-index: 195; padding: 12px 16px; border-bottom: 1px solid var(--wp-border); background: var(--wp-surface); color: var(--wp-text); font-size: 14px; }
.wp-diymode #samplepanel a { color: var(--wp-blue); }
/* css_diy.css ships an orange save button (!important) and clips the close button to 25px */
html body #controlheader p { width: auto; }
html body #controlheader p a { border-color: #E3E5E7; border-radius: 6px; color: #61666D; }
html body #navsave a { border-color: #FF6699 !important; background: #FF6699 !important; color: #FFFFFF !important; font-weight: 500; text-shadow: none; }
html body #navsave a:hover { border-color: #FF8CB0 !important; background: #FF8CB0 !important; }
html body #navcancel a { width: auto; padding: 0 12px 0 8px; color: #61666D; white-space: nowrap; }
html body #navcancel a:before { margin-right: 4px; font-size: 16px; vertical-align: -1px; }
html body #navcancel a:hover { border-color: #FF6699; color: #FF6699; }
html body #button_redo a, html body #button_undo a { color: #00AEEC; }
html body #button_redo.unusable a, html body #button_undo.unusable a { color: #C9CCD0; }

/* ---------- 9. Responsive ---------- */
/* 电脑版尺寸跟随窗口，而不是写死像素：系统显示缩放 125% / 150% 时网页拿到的窗口更小，写死的尺寸会显得像被放大了。
   以 1920 宽为基准（该宽度下与原来完全一致），1280 宽（1080p 屏 150%）保持相同比例，只是文字更大。
   窄版：内容居中，约占窗口 69%，至少 1040px（默认 Discuz 页面按 960px 设计），每行 3 张卡片；宽版：铺满，每行 4 张卡片。 */
@media (min-width: 1024px) {
	:root { --wp-maxw: clamp(1040px, 68.75vw, 1760px); --wp-gutter: clamp(20px, 1.667vw, 32px); --wp-card-w: clamp(260px, 17vw, 460px); --wp-feed-gap: clamp(12px, 1.04vw, 20px); --wp-hero-h: clamp(460px, 74vh, 860px); --wp-vp-side: clamp(300px, 18.75vw, 380px); }
	html.widthauto { --wp-gutter: clamp(20px, 1.25vw, 32px); --wp-card-w: clamp(240px, 19.5vw, 520px); --wp-feed-gap: clamp(12px, .84vw, 16px); }
}
@media (max-width: 1279px) {
	.wp-top__inner { padding: 0 16px; }
	.wp-nav__list li > a { padding: 0 8px; }
	.wp-entry--fav { display: none !important; }
	.wp-space__tabs { gap: 0 20px; }
	.wp-space__tabs .wp-i { display: none; }
	.ct2 .sd, .ct3_a .sd { display: none; }
}
@media (max-width: 1179px) {
	.wp-search { display: none; }
	.wp-top__searchbtn { display: flex !important; }
	.wp-search ~ .wp-top__right { margin-left: auto; }
	.wp-search-open .wp-search { position: absolute; top: calc(100% + 8px); left: 16px; right: 16px; z-index: 30; display: block; max-width: none; margin: 0; padding: 12px; box-sizing: border-box; border: 1px solid var(--wp-border); border-radius: 8px; background: var(--wp-elevated); box-shadow: var(--wp-shadow-lg); animation: wp-fadeup .2s ease both; }
	.wp-search-open .wp-search__box { border-radius: 8px !important; background: var(--wp-surface-3) !important; }
	.wp-search-open .wp-search .wp-search__panel, .wp-search-open .wp-search:focus-within .wp-search__panel { position: static; width: auto; max-height: calc(100vh - 200px); margin: 0; padding: 14px 0 2px; border: 0; box-shadow: none; background: transparent; opacity: 1; visibility: visible; }
	.wp-search-open .wp-top__searchbtn { color: var(--wp-blue) !important; }
}
@media (max-width: 1023px) {
	:root { --wp-hero-h: clamp(380px, 56vh, 520px); --wp-gutter: 24px; --wp-card-w: 320px; --wp-feed-gap: 16px; }
	.wp-hero__title { font-size: 32px; }
	.wp-hero__sub { font-size: 15px; }
	.wp-hero__search { max-width: 560px; height: 52px; margin-top: 24px; }
	.wp-hero__go { height: 40px; padding: 0 22px; }
	.wp-hero__credit { display: none; }
	.wp-filter { gap: 10px; }
	.wp-filter__all span { display: none; }
	.wp-filter__all { width: 36px; padding: 0; }
	.wp-top__inner { gap: 4px; padding: 0 12px 0 16px; }
	.wp-nav { display: none; }
	#hd h2.wp-logo { margin-right: 0; }
	.wp-entry { min-width: 40px; }
	.wp-entry__label { display: none; }
	.wp-entry .wp-count { top: 6px; }
	.wp-sign__entry, .wp-entry--activate { flex-direction: row; gap: 6px; padding: 0 8px; }
	.wp-sign__entry .wp-entry__label, .wp-entry--activate .wp-entry__label { display: block; font-size: 14px; }
	.wp-fhead { flex-wrap: wrap; }
	.wp-fhead__actions { flex-basis: 100%; margin-left: 0; }
	.ct2, .ct2_a, .ct3_a { flex-direction: column; align-items: stretch; gap: 14px; }
	.ct2 .mn, .ct2 .sd { width: auto; }
	.ct2_a .appl, .ct3_a .appl { position: static; flex: none; width: auto; padding: 6px; }
	.ct2_a .appl .tbn ul, .ct3_a .appl .tbn ul, .appl > ul { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
	.ct2_a .appl .tbn li, .ct3_a .appl .tbn li, .appl > ul > li { flex: none; margin: 0; }
	.ct2_a .appl .tbn h2, .ct3_a .appl .tbn h2 { display: none; }
	.ct2_a .appl .tbn ul::-webkit-scrollbar { display: none; }
	.wp-heats { grid-template-columns: 1fr; }
	.wp-space__bar { padding: 0 16px; }
	.wp-space__tabs { flex-wrap: nowrap; width: 100%; gap: 0 22px; overflow-x: auto; scrollbar-width: none; }
	.wp-space__tabs::-webkit-scrollbar { display: none; }
	.wp-space__tabs a { height: 52px; }
	.wp-space__stats { width: 100%; justify-content: space-around; margin: 0; border-top: 1px solid var(--wp-line); }
}
@media (max-width: 767px) {
	:root { --wp-bar-h: 52px; --wp-header-h: 52px; --wp-gutter: 12px; --wp-card-w: 150px; --wp-feed-gap: 10px; }
	#hd.wp-top.has-banner { height: auto; }
	.wp-hero { position: relative; inset: auto; margin-top: var(--wp-bar-h); padding: 52px 16px 64px; }
	.wp-hero__more { display: none; }
	.wp-hero::after { height: 17px; border-radius: 16px 16px 0 0; }
	.wp-hero__title { font-size: 24px; }
	.wp-hero__sub { margin-top: 6px; font-size: 13px; }
	/* inset from the banner's own 16px padding so the box does not run the full width of a phone screen; the parent centres it */
	.wp-hero__search { max-width: calc(100% - 28px); height: 46px; margin-top: 20px; padding: 0 4px 0 14px; }
	.wp-hero__icon { width: 18px; height: 18px; }
	.wp-hero__input { height: 38px; padding: 0 8px; font-size: 15px; }
	.wp-hero__go { height: 38px; padding: 0 16px; border-radius: 19px; font-size: 14px; }
	.wp-hero__tags { flex-wrap: nowrap; justify-content: flex-start; width: calc(100% + 32px); max-width: none; height: 28px; margin: 14px -16px 0; padding: 0 16px; box-sizing: border-box; overflow-x: auto; scrollbar-width: none; }
	.wp-hero__tags::-webkit-scrollbar { display: none; }
	.wp-hero__tags span { flex: none; line-height: 28px; }
	.wp-hero__tags a { flex: none; height: 28px; }
	#hd.has-banner:not(.is-scrolled) { --wp-bar-fg: var(--wp-text); }
	#hd.has-banner:not(.is-scrolled) .wp-top__bar { background: var(--wp-bg); box-shadow: 0 1px 0 var(--wp-line); }
	#hd.has-banner:not(.is-scrolled) .wp-nav__list li > a, #hd.has-banner:not(.is-scrolled) .wp-entry { text-shadow: none; }
	#hd.has-banner:not(.is-scrolled) .wp-entry .wp-i, #hd.has-banner:not(.is-scrolled) .wp-logo img { filter: none; }
	/* the bar is solid here, not laid over the banner, so the site name follows it like everything else beside it - left white it was
	   white on white */
	#hd.has-banner:not(.is-scrolled) .wp-logo__text { color: var(--wp-text); text-shadow: none; }
	.wp-top__inner { gap: 0; padding: 0 6px 0 14px; }
	.wp-logo img, .wp-logo svg { max-width: 118px; max-height: 26px; }
	.wp-entry--pm, #myprompt, .wp-entry--reg, .wp-top__more { display: none !important; }
	.wp-sign__entry, .wp-entry--activate { padding: 0 10px 0 8px; }
	.wp-sign__card { display: none; }
	.wp-top__me { width: 42px; height: 42px; margin: 0; }
	.wp-top__me .wp-avatar { width: 30px; height: 30px; }
	.wp-main { padding-top: 12px; }
	.wp-umenu__menu, .wp-dd__menu.wp-umenu__menu { position: fixed; top: calc(var(--wp-header-h) + 6px); left: 8px; right: 8px; width: auto; max-height: calc(100vh - var(--wp-header-h) - 100px); transform: translateY(-4px); }
	.wp-dd.wp-umenu.is-open > .wp-umenu__menu { transform: none; }
	.wp-search-open .wp-search { position: fixed; top: calc(var(--wp-header-h) + 6px); left: 8px; right: 8px; }
	.wp-search__hot { grid-template-columns: 1fr; }
	body.wp-page { padding-bottom: calc(54px + env(safe-area-inset-bottom)); }
	.wp-tabbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 160; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); height: calc(54px + env(safe-area-inset-bottom)); padding: 0 0 env(safe-area-inset-bottom); box-sizing: border-box; border-top: 1px solid var(--wp-line); background: var(--wp-bg); }
	.wp-tabbar__item { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; color: var(--wp-text-2) !important; font-size: 11px; line-height: 1; }
	.wp-tabbar__item .wp-i { width: 22px; height: 22px; }
	.wp-tabbar__item.is-active { color: var(--wp-accent) !important; }
	.wp-tabbar__item .wp-dot { top: 6px; right: calc(50% - 14px); }
	.wp-tabbar__plus { display: grid; place-items: center; width: 44px; height: 30px; border-radius: 8px; background: var(--wp-accent-fill); color: #FFFFFF; }
	.wp-tabbar__plus .wp-i { width: 20px; height: 20px; stroke-width: 2.2; }
	#scrolltop.wp-fab { right: 12px !important; bottom: calc(68px + env(safe-area-inset-bottom)); }
	#scrolltop.wp-fab a { width: 40px; height: 40px; border-radius: 50%; }
	#scrolltop.wp-fab a b { display: none; }
	#ft.wp-footer { margin-top: 28px; }
	.wp-footer__inner { padding-top: 20px; }
	#flk.wp-footer__links { justify-content: flex-start; }
	.wp-sec__title { font-size: 18px; }
	.wp-filter { gap: 8px; min-height: 52px; margin: 0 calc(-1 * var(--wp-gutter)) 12px; padding: 0 var(--wp-gutter); overflow-x: auto; scrollbar-width: none; }
	.wp-filter::-webkit-scrollbar { display: none; }
	.wp-filter__scroll { flex: none; }
	.wp-filter__chips { overflow: visible; }
	.wp-filter__tab, .wp-filter__chip { height: 32px; border-radius: 16px; font-size: 13px; }
	.wp-filter__tab { padding: 0 12px; font-size: 14px; }
	.wp-filter__chip { padding: 0 12px; }
	.wp-filter__all { width: 32px; height: 32px; margin-left: 0; }
	.wp-feed--home { row-gap: 18px; }
	.wp-feed--home .wp-note__cover { border-radius: 10px; }
	.wp-feed--home .wp-note__footer { column-gap: 6px; padding: 8px 0 0; }
	.wp-feed--home .wp-note__title { height: 20px; font-size: 14px; line-height: 20px; }
	.wp-feed--home .wp-note__meta { height: 20px; margin-top: 4px; font-size: 12px; }
	.wp-feed--home .wp-note__author { gap: 6px; }
	.wp-feed--home .wp-note__author img { width: 18px; height: 18px; }
	.wp-feed--home .wp-note__more { gap: 8px; margin-top: 4px; font-size: 12px; line-height: 20px; }
	.wp-feed--home .wp-note__more .wp-i { width: 14px; height: 14px; }
	.wp-feed--home .wp-note__views { display: none !important; }
	.wp-feed { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px var(--wp-feed-gap); }
	.wp-feed.is-masonry > * { margin-bottom: 16px; }
	.wp-note__stats { height: 30px; gap: 8px; padding: 10px 6px 4px; font-size: 11px; line-height: 16px; }
	.wp-note__stat .wp-i { width: 14px; height: 14px; }
	.wp-note__footer { padding: 6px 0 0; }
	.wp-note__title { height: 36px; font-size: 13px; line-height: 18px; }
	.wp-note__meta { height: 16px; margin-top: 4px; font-size: 11px; line-height: 16px; }
	.wp-note__author .wp-i, .wp-note__up { width: 14px; height: 14px; }
	.wp-note__date { display: none; }
	.wp-note__text { padding: 10px 12px; }
	.wp-note__text strong { font-size: 14px; }
	.wp-note__text .wp-i { width: 20px; height: 20px; margin-bottom: 4px; }
	.wp-note__text::after { display: none; }
	.wp-feed[data-view="list"] .wp-note { grid-template-columns: 140px minmax(0, 1fr); gap: 12px; padding: 12px 0; }
	.wp-feed[data-view="list"] .wp-note__title { height: auto; font-size: 15px; }
	.wp-feed[data-view="list"] .wp-note__more { display: none; }
	.wp-feed[data-view="list"] .wp-note__zoom { display: none; }
	.wp-subtabs { gap: 8px; }
	.wp-subtabs__right { margin-left: 0; }
	.wp-tabs__item { height: 30px; padding: 0 10px; font-size: 13px; }
	.wp-fhead__actions .wp-btn { flex: 1; }
	.wp-stats__links { margin-left: 0; }
	.wp-forums { grid-template-columns: 1fr; }
	#uhd.wp-space { margin: 0 calc(-1 * var(--wp-gutter)) 12px; border-radius: 0; box-shadow: none; }
	.wp-space__banner { min-height: 168px; padding: 16px; border-radius: 0; }
	.wp-space__inner { flex-wrap: wrap; gap: 12px; }
	.wp-space__avatar { width: 56px; height: 56px; }
	.wp-space__name { font-size: 17px; line-height: 24px; }
	.wp-space__acts { justify-content: flex-start; width: 100%; gap: 8px; }
	.wp-space__acts .wp-btn { height: 32px; padding: 0 12px; font-size: 13px; }
	.wp-space__tabs { gap: 0 18px; }
	.wp-space__tabs a { font-size: 14px; }
	.wp-space__tabs .wp-i { display: none; }
	.wp-space__manage { top: 8px; right: 12px; }
	.u_profile > .pbm, .u_profile > #psts, .u_profile > .cl:not(.pbm) { padding: 14px !important; }
	.u_profile .pf_l { grid-template-columns: 1fr; }
	.bm_h { padding: 0 14px; }
	.bm_c { padding: 14px; }
	.pgs { gap: 8px; }
	.pgs .pg { margin-left: 0; }
	.pg a, .pg strong, .pgb a, .pg label { min-width: 34px; height: 34px; padding: 0 9px; font-size: 13px; }
	.pg label { display: none; }
	.tb { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
	.tb::-webkit-scrollbar { display: none; }
	.tb li { flex: none; }
	.tl .by, .tl .num, .tl .o, .tl th .tdpre, .tl .th .by, .tl .th .num { display: none; }
	.tl .icn { width: 26px; }
	.tl .bm_c, .tl .th { padding: 0 12px; }
	.tfm, .tfm tbody, .tfm tr, .tfm th, .tfm td { display: block; width: auto !important; }
	.tfm th { padding: 10px 0 0; }
	.tfm td { padding: 6px 0; }
	.tfm .px, .tfm .pt, .tfm select { width: 100% !important; }
	.rfm th, .rfm td { display: block; width: auto !important; text-align: left; padding: 6px 2px; }
	.rfm .px { width: 100% !important; }
	.rfm .p_tip, .rfm .p_chk { position: static; width: auto; padding-left: 0; }
	.fwinmask { left: 8px !important; right: 8px !important; width: auto !important; }
	.fwin { width: 100% !important; }
	/* Discuz window content has fixed widths (600px editor, subject row, .p_c) that stretched the table past the screen */
	.fwin, .fwin > tbody, .fwin > tbody > tr, .fwin > tbody > tr > td { display: block; }
	.fwin .m_c div, .fwin .m_c form, .fwin .m_c table, .fwin .m_c textarea, .fwin .m_c select, .fwin .m_c input:not([type="checkbox"]):not([type="radio"]) { max-width: 100%; box-sizing: border-box; }
	.fwin .p_c, .fwin .pbt, .fwin #subjecthide, .fwin .tedt, .fwin .tedt .area { width: auto !important; }
	.fwin .tedt textarea { width: 100% !important; }
	.fwin .m_c { width: 100% !important; }
	.fwin .m_c > div, .fwin .f_c, .fwin .c, .fwin .rfm, .fwin .tfm, .fwin .altw, .fwin .blr { width: auto !important; max-width: 100% !important; }
	.fwin .m_c .c { max-height: 70vh; overflow-y: auto; }
	/* forum picker (投稿): Discuz sizes the path text 400px and the column list 621px */
	.fwin .pbnv { float: none; display: block; width: auto; overflow: hidden; text-overflow: ellipsis; }
	.fwin .pbl { display: flex; width: auto; }
	.fwin .pbl::after { display: none; }
	.fwin .pbl li { float: none; flex: 1 1 0; min-width: 0; width: auto; height: 46vh; max-height: 300px; }
	.fwin .pbl li:empty { display: none; }
	.nfl .f_c { margin: 20px auto; padding: 20px; }
	.nfl .f_c:has(> #messagelogin) { padding-right: 16px; padding-left: 16px; }
	.dt { display: block; overflow-x: auto; }
	.wp-dd__menu { max-width: calc(100vw - 20px); }
	.focus { display: none !important; }
	.wp-hide-sm { display: none !important; }
}
@media (max-width: 479px) {
	.wp-hide-xs { display: none !important; }
}

/* ---------- Settings: 修改头像 / 账号管理 (home/spacecp_avatar.php, home/spacecp_account.php) ---------- */
.wp-setcard { position: relative; margin: 0 0 16px; padding: 24px; border: 1px solid var(--wp-line); border-radius: 16px; background: var(--wp-surface); }
.wp-setcard__title { margin: 0; color: var(--wp-text); font-size: 16px; font-weight: 600; line-height: 1.5; }
.wp-setcard__desc { margin: 4px 0 0; color: var(--wp-text-3); font-size: 13px; line-height: 1.7; }
/* current avatar */
.wp-avatarnow { display: flex; align-items: center; gap: 20px; }
.wp-avatarnow:has(> .wp-avatarnow__back a) { padding-right: 110px; }
.wp-avatarnow__img { flex: none; }
.wp-avatarnow__img img { display: block; width: 88px; height: 88px; margin: 0; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 4px var(--wp-surface), 0 0 0 6px var(--wp-accent-soft); }
.wp-avatarnow__text { flex: 1 1 auto; min-width: 0; }
.wp-avatarnow__back { position: absolute; top: 22px; right: 24px; font-size: 13px; line-height: 20px; }
.wp-avatarnow__back a { color: var(--wp-text-3); }
.wp-avatarnow__back a:hover { color: var(--wp-blue); }
/* new avatar: the designer's first step is a dashed drop zone; its invisible file input already covers the zone */
.wp-avatarnew__body { margin-top: 16px; }
/* avatar.js sizes the designer, the zone and the file input inline (UCenter's 450 x 228, padding added for border-box): while a file is
   chosen they size themselves and the input covers the whole zone; the crop step keeps the script's size, centred and capped */
.wp-avatarpage #avatardesigner { max-width: 100% !important; margin: 0 auto; padding: 0; border: 0; border-radius: 12px; background: none; }
.wp-avatarpage #avatardesigner:has(> #avatarfileselector:not([style*="display: none"])) { width: auto !important; height: auto !important; }
.wp-avatarpage #avatarfileselector { width: auto !important; height: auto !important; }
.wp-avatarpage #avatarfileselector #avatarfile { top: 0 !important; right: 0 !important; width: 100% !important; height: 100% !important; }
.wp-avatarpage #avatarfileselector { position: relative; overflow: hidden; padding: 36px 20px 40px; box-sizing: border-box; border: 1.5px dashed var(--wp-border-2); border-radius: 12px; background: var(--wp-surface-2); text-align: center; transition: border-color .2s, background-color .2s; }
.wp-avatarpage #avatarfileselector:hover { border-color: var(--wp-blue); background: var(--wp-blue-soft); }
.wp-avatarpage #avatarfileselector::before { content: ""; display: block; width: 56px; height: 56px; margin: 0 auto 16px; border-radius: 50%; background: var(--wp-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239499A0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpath d='m17 8-5-5-5 5M12 3v12'/%3E%3C/svg%3E") center / 26px no-repeat; box-shadow: 0 1px 3px rgba(0, 0, 0, .08); }
.wp-avatarpage #avatarfileselector .uploadavatar { display: inline-flex; align-items: center; justify-content: center; height: 36px; margin: 0; padding: 0 22px; border: 0; border-radius: 18px; background: var(--wp-blue-fill); color: #FFFFFF; font-family: inherit; font-size: 14px; font-weight: 500; line-height: 1; cursor: pointer; transition: background-color .2s; }
.wp-avatarpage #avatarfileselector:hover .uploadavatar { background: var(--wp-blue-hover); }
/* crop / done steps: the script lays out canvas, selector and slider; only the buttons change */
.wp-avatarpage #avataradjuster, .wp-avatarpage #avatardisplayer { border-radius: 12px; }
.wp-avatarpage .backfileselection, .wp-avatarpage .saveAvatar, .wp-avatarpage .finishbutton { height: 36px; padding: 0 16px; border: 1px solid transparent; border-radius: 18px; background: var(--wp-blue-fill); color: #FFFFFF; font-family: inherit; font-size: 14px; line-height: 34px; cursor: pointer; }
.wp-avatarpage .backfileselection { border-color: var(--wp-border); background: var(--wp-surface); color: var(--wp-text); }
.wp-avatarpage .backfileselection:hover { border-color: var(--wp-blue); color: var(--wp-blue); }
.wp-avatarpage .saveAvatar:hover, .wp-avatarpage .finishbutton:hover { background: var(--wp-blue-hover); }
/* account rows: icon, label / value / note, action */
.wp-account { padding-top: 20px; padding-bottom: 8px; }
.wp-account__list { margin-top: 8px; }
.wp-account__row { display: flex; align-items: center; gap: 16px; padding: 16px 0; border-top: 1px solid var(--wp-line); }
.wp-account__row:first-child { border-top: 0; }
.wp-account__ico { flex: none; display: grid; place-items: center; width: 40px; height: 40px; overflow: hidden; border-radius: 12px; background: var(--wp-blue-soft); color: var(--wp-blue); }
.wp-account__ico .wp-i { width: 20px; height: 20px; }
.wp-account__ico--warn { background: var(--wp-danger-soft); color: var(--wp-danger); }
.wp-account__ico--third { background: var(--wp-surface-2); }
.wp-account__ico--third img { display: block; width: 24px; height: 24px; margin: 0; border-radius: 6px; object-fit: contain; }
.wp-account__main { flex: 1 1 auto; min-width: 0; }
.wp-account__label { color: var(--wp-text); font-size: 14px; font-weight: 500; line-height: 22px; }
.wp-account__value { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin-top: 2px; color: var(--wp-text-2); font-size: 14px; line-height: 22px; word-break: break-all; }
.wp-account__desc { margin: 2px 0 0; color: var(--wp-text-3); font-size: 12px; line-height: 1.6; }
.wp-account__warn { margin: 4px 0 0; color: var(--wp-danger); font-size: 12px; line-height: 1.6; }
.wp-account__warn strong { color: inherit; }
.wp-account__tag { display: inline-flex; align-items: center; height: 20px; padding: 0 8px; border-radius: 10px; background: var(--wp-surface-3); color: var(--wp-text-3) !important; font-size: 12px; line-height: 1; white-space: nowrap; }
.wp-account__tag.is-ok { background: var(--wp-success-soft); color: var(--wp-success) !important; }
.wp-account__tag.is-warn { background: var(--wp-danger-soft); color: var(--wp-danger) !important; }
a.wp-account__tag.is-warn:hover { text-decoration: underline; }
.wp-account__act { flex: none; }
.wp-btn.wp-account__btn { height: 32px; padding: 0 16px; border-radius: 16px; background: var(--wp-surface); font-size: 13px; }
.wp-btn.wp-account__btn:hover { border-color: var(--wp-blue); background: var(--wp-surface); color: var(--wp-blue) !important; }
.wp-btn.wp-account__btn--primary { border-color: transparent; background: var(--wp-blue-fill); color: #FFFFFF !important; }
.wp-btn.wp-account__btn--primary:hover { border-color: transparent; background: var(--wp-blue-hover); color: #FFFFFF !important; }
.wp-btn.wp-account__btn--danger { border-color: transparent; background: var(--wp-danger-soft); color: var(--wp-danger) !important; }
.wp-btn.wp-account__btn--danger:hover { border-color: var(--wp-danger); background: var(--wp-danger-soft); color: var(--wp-danger) !important; }
.wp-btn.wp-account__btn.is-disabled, .wp-btn.wp-account__btn.is-disabled:hover { border-color: var(--wp-line); background: var(--wp-surface-2); color: var(--wp-text-4) !important; cursor: not-allowed; }
@media (max-width: 767px) {
	.wp-setcard { margin-bottom: 12px; padding: 16px; border-radius: 14px; }
	.wp-avatarnow { gap: 14px; }
	.wp-avatarnow:has(> .wp-avatarnow__back a) { padding-right: 16px; }
	.wp-avatarnow:has(> .wp-avatarnow__back a) .wp-setcard__title { padding-right: 76px; }
	.wp-avatarnow__img img { width: 64px; height: 64px; box-shadow: 0 0 0 3px var(--wp-surface), 0 0 0 5px var(--wp-accent-soft); }
	.wp-avatarnow__back { top: 17px; right: 16px; }
	.wp-avatarpage #avatarfileselector { padding: 28px 16px 32px; }
	/* crop and done steps: avatar.js places them for a 450 x 228 clipped desktop box; here the box grows, the crop canvas joins the flow (not
	   scaled: its pixels are the crop coordinates), its buttons form a row below, and the result preview scales with 完成 under it */
	.wp-avatarpage #avatardesigner { height: auto !important; }
	.wp-avatarpage #avataradjuster { height: auto !important; overflow: visible !important; }
	.wp-avatarpage #avataradjuster::after { content: ""; display: block; clear: both; }
	.wp-avatarpage #avatarimage { position: absolute; }
	.wp-avatarpage #avatarcanvas { display: block; position: static !important; }
	.wp-avatarpage .backfileselectiondiv, .wp-avatarpage .saveAvatardiv { position: static !important; float: left; width: calc(50% - 5px); height: auto; margin: 12px 0 0; }
	.wp-avatarpage .saveAvatardiv { margin-left: 10px; }
	.wp-avatarpage .finishbuttondiv { position: static !important; width: auto; height: auto; margin: 12px 0 0; text-align: center; }
	.wp-avatarpage .backfileselection, .wp-avatarpage .saveAvatar, .wp-avatarpage .finishbutton { position: static !important; float: none; width: 100%; height: 40px; opacity: 1; }
	.wp-avatarpage .finishbutton { width: auto; min-width: 140px; }
	.wp-avatarpage #avatardisplaycanvas { display: block; position: static !important; max-width: 100%; height: auto; }
	.wp-account { padding-top: 14px; padding-bottom: 4px; }
	.wp-account__row { gap: 12px; padding: 14px 0; }
	.wp-account__ico { width: 36px; height: 36px; border-radius: 10px; }
	.wp-account__ico .wp-i { width: 18px; height: 18px; }
	.wp-btn.wp-account__btn { height: 30px; padding: 0 12px; }
}

/* ---------- Post forms: no 本版积分规则 link (default post page, post float and forum fast post; the thread composer template drops it) ---------- */
#postform a[href*="ac=credit&op=rule"], #fastpostform a[href*="ac=credit&op=rule"] { display: none !important; }
/* no polls on this site: the 记录 form's poll shortcut (not wrapped in allowpostpoll) */
#moodfm_poll { display: none !important; }
/* post page type tabs: a single tab (polls off, no other special types) only repeats the breadcrumb, so hide it; the draft box link keeps the row */
.pg_post #ct > .bm > .tb:not(:has(> li:not(.y) ~ li:not(.y))) > li:not(.y) { display: none; }
.pg_post #ct > .bm > .tb:not(:has(> li:not(.y) ~ li:not(.y))):not(:has(> li.y)) { display: none; }
.pg_post #ct > .bm > .tb:not(:has(> li:not(.y) ~ li:not(.y))):not(:has(> li.y)) ~ #postbox > .pbt { margin-top: 20px; }
/* classic editor toolbar without the features the site doesn't use (user, 2026-09-16): undo / redo, 全屏, font and size menus, 分隔线, table
   and clear formatting, auto layout, floats and lists, smilies, post background and the QQ bbcode button; Discuz's 常用 mode toggles some of
   these groups with inline display, hence !important */
.edt .bar [id$="_adv_5"], .edt .bar a[id$="_fullswitcher"],
.edt .bar a.dp[id$="_fontname"], .edt .bar a.dp[id$="_font"], .edt .bar a.dp[id$="_fontsize"],
.edt .bar [id$="_adv_1"], .edt .bar a[id$="_inserthorizontalrule"], .edt .bar a[id$="_xhr"],
.edt .bar [id$="_adv_2"], .edt .bar a[id$="_tbl"], .edt .bar a[id$="_removeformat"], .edt .bar a[id$="_autotypeset"],
.edt .bar [id$="_adv_4"], .edt .bar a[id$="_floatleft"], .edt .bar a[id$="_floatright"], .edt .bar a[id$="_insertorderedlist"], .edt .bar a[id$="_insertunorderedlist"],
.edt .bar a[id$="_sml"], .edt .bar a[id$="_postbg"], .edt .bar a.cst[id$="_qq"], .edt .bar a.wp-ico-chat,
/* (user, 2026-09-17) 视频, 音乐, @朋友, 免费信息, 从 Word 粘贴, 分页, 目录, 回帖密码 and 帖子动画 go too; 隐藏内容 and 下载远程图片 stay */
.edt .bar a[id$="_vid"], .edt .bar a[id$="_aud"], .edt .bar a[id$="_at"], .edt .bar a[id$="_free"], .edt .bar a[id$="_pasteword"],
.edt .bar a[id$="_page"], .edt .bar a[id$="_index"], .edt .bar a[id$="_password"], .edt .bar a[id$="_beginning"] { display: none !important; }
/* what is left of each small-icon group sits on one line, centred in the 44px bar (the two-row layout would leave a lone row);
   the image / attachment count dots follow their buttons now that 表情 is gone */
.edt .bar .btn > .b2r { display: flex; flex-wrap: wrap; align-items: center; align-content: center; }
.edt .bar .btn > .b2r > p, .edt .bar .btn > .b2r > span { display: contents; }
.edt .bar .btn > .b2r br { display: none; }
.edt .bar .btn > .b2r a { float: none; }
.edt .bar #e_imagen { left: 27px; }
.edt .bar #e_attachn { left: 67px; }
/* the reply window (default forum/post_infloat.php, opened by a post's or comment's 回复 and the floating 快速回复): no "RE: subject [修改]"
   row and a plain text box without the formatting / smilies / @ bar and 高级模式 (user, 2026-09-16); a quoted post and a debate stand stay */
#floatlayout_reply .pbt:has(> #subjecthide) { display: none; }
#floatlayout_reply .tedt .bar { display: none !important; }

/* ---------- Moderator panel (forum.php?mod=modcp): password gate (theme forum/modcp_login.php), menu counts (theme forum/modcp.php) ---------- */
.wp-cplogin { margin: 0; padding: 0; border: 0; background: none; }
.wp-cplogin__card { max-width: 440px; margin: 0 auto; padding: 40px 40px 36px; box-sizing: border-box; border: 1px solid var(--wp-line); border-radius: 16px; background: var(--wp-surface); text-align: center; }
.wp-cplogin__badge { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: var(--wp-blue-soft); color: var(--wp-blue); }
.wp-cplogin__badge .wp-i { width: 26px; height: 26px; }
.wp-cplogin__title { margin: 16px 0 0; padding: 0; color: var(--wp-text); font-size: 20px; font-weight: 600; line-height: 1.4; }
.wp-cplogin__desc { margin: 8px 0 0; color: var(--wp-text-3); font-size: 13px; line-height: 1.7; }
.wp-cplogin__form { margin: 28px 0 0; text-align: left; }
.wp-cplogin__user { display: flex; align-items: center; gap: 12px; height: 56px; padding: 0 16px 0 12px; border-radius: 12px; background: var(--wp-surface-2); }
.wp-cplogin__avatar { flex: none; width: 32px; height: 32px; overflow: hidden; border-radius: 50%; background: var(--wp-surface-3); }
.wp-cplogin__avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }
.wp-cplogin__name { flex: 1; min-width: 0; overflow: hidden; color: var(--wp-text); font-size: 15px; font-weight: 500; white-space: nowrap; text-overflow: ellipsis; }
.wp-cplogin__tag { flex: none; color: var(--wp-text-3); font-size: 12px; }
.wp-cplogin__label { display: block; margin: 20px 0 8px; color: var(--wp-text-2); font-size: 13px; font-weight: 500; line-height: 1.5; }
.wp-cplogin__field { position: relative; }
.wp-cplogin__field .wp-i { position: absolute; top: 50%; left: 14px; width: 18px; height: 18px; margin-top: -9px; color: var(--wp-text-3); pointer-events: none; transition: color .2s; }
.wp-cplogin__field:focus-within .wp-i { color: var(--wp-blue); }
.wp-cplogin__field .px { display: block; width: 100%; height: 44px; padding: 0 14px 0 42px; border-radius: 10px; font-size: 15px; line-height: 42px; }
.wp-cplogin__field .px:focus { box-shadow: 0 0 0 3px var(--wp-blue-soft); }
.wp-cplogin .pn.wp-cplogin__btn { display: flex; align-items: center; justify-content: center; width: 100%; height: 44px; margin: 24px 0 0; padding: 0; border: 0; border-radius: 10px; background: var(--wp-blue-fill); color: #FFFFFF !important; font-size: 15px; line-height: 1; }
.wp-cplogin .pn.wp-cplogin__btn:hover { background: var(--wp-blue-hover); }
.wp-cplogin .pn.wp-cplogin__btn strong { font-weight: 500; }
.tbn li:has(> .wp-cpnum) { position: relative; }
.tbn li:has(> .wp-cpnum) > a { padding-right: 42px; }
/* the span keeps Discuz's .mtn, whose margin-top is !important */
.tbn li > .wp-cpnum { position: absolute; top: 50%; right: 12px; float: none; min-width: 20px; height: 20px; margin: 0 !important; padding: 0 6px; box-sizing: border-box; transform: translateY(-50%); border-radius: 10px; background: var(--wp-accent-fill); color: #FFFFFF; font-size: 12px; font-weight: 500; line-height: 20px; text-align: center; font-variant-numeric: tabular-nums; pointer-events: none; }
@media (max-width: 1023px) {
	/* the menu is a horizontal strip here: the count follows the label */
	.tbn li:has(> .wp-cpnum) > a { padding-right: 34px; }
	.tbn li > .wp-cpnum { right: 8px; }
}
@media (max-width: 767px) {
	.wp-cplogin__card { max-width: none; padding: 28px 20px 24px; border-radius: 14px; }
	.wp-cplogin__form { margin-top: 24px; }
}

/* ---------- Moderator panel pages (theme forum/modcp_*.php): head, filter / edit cards, tables and lists, bulk bars ---------- */
.wp-mcp { margin: 0; padding: 0; border: 0; background: none; }
.wp-mcp__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; min-height: 36px; margin: 0 0 14px; }
.wp-mcp__title { margin: 0; padding: 0; color: var(--wp-text); font-size: 20px; font-weight: 600; line-height: 1.4; }
.wp-mcp__desc { flex: 1 1 100%; margin: -4px 0 0; color: var(--wp-text-3); font-size: 13px; line-height: 1.7; }
.wp-mcp > .wp-mcp__tabs { margin: -6px 0 16px; }
.wp-mcp__section { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin: 28px 0 12px; }
.wp-mcp__subtitle { margin: 0; padding: 0; color: var(--wp-text); font-size: 16px; font-weight: 600; line-height: 1.5; }
.wp-mcp__subtitle a { color: var(--wp-blue) !important; }
.wp-mcp__gap { margin-top: 16px; }
.wp-cpcard { margin: 0; padding: 20px 24px 22px; box-sizing: border-box; border: 1px solid var(--wp-line); border-radius: 16px; background: var(--wp-surface); }
.wp-cpcard + .wp-cpcard { margin-top: 16px; }
.wp-cpform__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 24px; }
.wp-cpform__grid--one { grid-template-columns: minmax(0, 1fr); }
.wp-cpuser + .wp-cpform__grid, .wp-cpuser + .wp-cpfield, .wp-cpfield--block + .wp-cpform__grid { margin-top: 18px; }
.wp-cpfield { min-width: 0; margin: 0; }
.wp-cpfield--wide { grid-column: 1 / -1; }
.wp-cpfield__label { display: block; margin: 0 0 6px; color: var(--wp-text-2); font-size: 13px; font-weight: 500; line-height: 1.5; }
.wp-cpfield__opt { margin-left: 4px; color: var(--wp-text-3); font-weight: 400; }
.wp-cpfield__hint { margin: 6px 0 0; color: var(--wp-text-3); font-size: 12px; line-height: 1.6; }
.wp-cpform .px, .wp-cpform .pt { display: block; width: 100%; max-width: 100%; margin: 0; box-sizing: border-box; border-radius: 8px; font-size: 14px; }
.wp-cpform .px { height: 40px; line-height: 38px; }
.wp-cpform .pt { min-height: 96px; padding: 10px 12px; resize: vertical; }
.wp-cpform select.ps { width: 100%; height: 40px; border-radius: 8px; }
.wp-cpform .wp-select { display: flex; width: 100%; }
.wp-cpform .wp-select__btn { width: 100%; min-width: 0; max-width: none; height: 40px; padding: 0 12px 0 14px; border-color: var(--wp-input-border); border-radius: 8px; background: var(--wp-input-bg); font-size: 14px; }
.wp-cpform .ftid { display: block; float: none; margin: 0; }
.wp-cpform .ftid a { width: 100% !important; height: 40px; border-radius: 8px; line-height: 38px; box-sizing: border-box; }
.wp-cprange { display: flex; align-items: center; gap: 8px; }
.wp-cprange .px { flex: 1 1 0; min-width: 0; }
.wp-cprange__sep { flex: none; color: var(--wp-text-3); font-size: 13px; }
.wp-cpdate { display: flex; align-items: stretch; }
.wp-mcp .wp-cpdate .px { float: none; flex: 1 1 auto; min-width: 0; width: auto; margin: 0; border-radius: 8px 0 0 8px; }
.wp-mcp .wp-cpdate .dpbtn { float: none; flex: none; width: 40px; height: auto; margin: 0; box-sizing: border-box; border: 1px solid var(--wp-input-border); border-left: 0; border-radius: 0 8px 8px 0; background: var(--wp-surface-2) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%239499A0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M3 4.5l3 3 3-3'/%3e%3c/svg%3e") center / 12px no-repeat; text-indent: -9999px; transition: background-color .2s; }
.wp-mcp .wp-cpdate .dpbtn:hover { background-color: var(--wp-surface-3); }
.wp-cpdate--sm { width: 190px; }
.wp-mcp .wp-cpdate--sm .px { height: 34px; line-height: 32px; }
.wp-mcp .wp-cpdate--sm .dpbtn { width: 34px; }
.wp-cpchoices { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; }
.wp-cpcheck, .wp-cpchoices .lb { display: inline-flex; align-items: center; gap: 6px; margin: 0; color: var(--wp-text-2); font-size: 14px; line-height: 1.5; cursor: pointer; }
.wp-cpcheck input { flex: none; margin: 0; }
.wp-cpcheck--lead { flex-basis: 100%; color: var(--wp-text); font-weight: 500; }
.wp-cpform__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 20px 0 0; }
.wp-mcp .pn { display: inline-flex; align-items: center; justify-content: center; height: 36px; margin: 0; padding: 0 16px; border-radius: 8px; line-height: 1; white-space: nowrap; }
.wp-mcp .pn strong, .wp-mcp .pn em, .wp-mcp .pn span { font-style: normal; font-weight: 500; }
.wp-cpform__foot .pn { min-width: 96px; height: 38px; padding: 0 22px; }
.wp-mcp .pn.wp-cpbtn--danger { border-color: transparent; background: var(--wp-danger-soft); color: var(--wp-danger) !important; }
.wp-mcp .pn.wp-cpbtn--danger:hover { border-color: transparent; background: var(--wp-danger); color: #FFFFFF !important; }
.wp-cptip { display: flex; align-items: flex-start; gap: 8px; margin: 16px 0 0; padding: 10px 14px; border-radius: 10px; background: var(--wp-blue-soft); color: var(--wp-blue); font-size: 13px; line-height: 1.7; }
.wp-cptip::before { content: ""; flex: none; width: 16px; height: 16px; margin-top: 3px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5M12 8h.01'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5M12 8h.01'/%3E%3C/svg%3E") center / contain no-repeat; }
.wp-cptip--warn { background: var(--wp-danger-soft); color: var(--wp-danger); }
.wp-cptip--inset { margin: 0 0 16px; }
.wp-cptip a { color: inherit !important; text-decoration: underline !important; }
.wp-mcp > .wp-cpcard + .emp, .wp-mcp > .wp-cptip + .emp, .wp-mcp > .wp-mcp__tabs + .emp { margin-top: 16px; }
/* tables (Discuz .dt) */
.wp-cptable { overflow-x: auto; border: 1px solid var(--wp-line); border-radius: 16px; background: var(--wp-surface); }
.wp-cptable > table { width: 100%; min-width: 560px; margin: 0; border: 0; border-collapse: collapse; }
.wp-cptable th, .wp-cptable td { padding: 12px 16px; border: 0; border-bottom: 1px solid var(--wp-line); background: transparent; color: var(--wp-text); font-size: 14px; line-height: 1.6; text-align: left; vertical-align: middle; }
.wp-cptable thead th { padding-top: 11px; padding-bottom: 11px; background: var(--wp-surface-2); color: var(--wp-text-3); font-size: 13px; font-weight: 500; white-space: nowrap; }
.wp-cptable tbody:last-child > tr:last-child > td { border-bottom: 0; }
.wp-cptable tbody > tr:hover > td { background: var(--wp-surface-2); }
/* one line per cell (wide tables scroll inside the card); free-text cells wrap */
.wp-cptable td { white-space: nowrap; }
.wp-cptable td.wp-cptable__wrap, .wp-cptable td.wp-cpreport, .wp-cptable td.wp-cpmember { min-width: 220px; white-space: normal; }
.wp-cptable td:has(> .emp) { white-space: normal; }
.wp-cptable .xg1 { color: var(--wp-text-3); font-size: 12px; }
.wp-cptable .xi2, .wp-cptable .xi2 a { color: var(--wp-blue); }
.wp-cptable .emp { padding: 32px 16px; }
.wp-cptable tbody > tr:hover > td:has(> .emp) { background: transparent; }
.wp-cptable .wp-cptable__check { width: 20px; padding-right: 0; }
.wp-cptable td .px { height: 34px; border-radius: 8px; }
.wp-cptable__order .px { width: 56px; text-align: center; }
.wp-cpreport p { margin: 0; line-height: 1.75; word-break: break-all; }
.wp-cpreport span { display: inline-block; min-width: 56px; margin-right: 8px; color: var(--wp-text-3); font-size: 13px; }
.wp-cpreport__field { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; color: var(--wp-text-2); font-size: 13px; white-space: nowrap; }
.wp-cpreport__field .px, .wp-cpreport__field .ps { width: 120px; height: 32px; }
/* thread lists (Discuz .tl) */
.wp-cplist { margin: 0; padding: 4px 20px; border: 1px solid var(--wp-line); border-radius: 16px; background: var(--wp-surface); }
/* the forum::modcp section of module.css already fixes the table layout; repeat it so long excerpts can never widen the list */
.wp-cplist table { width: 100%; table-layout: fixed; }
.wp-cplist .icn, .wp-cplist .o { width: 28px; }
.wp-cplist .frm { width: 120px; }
.wp-cplist th a { color: var(--wp-text); font-weight: 500; }
.wp-cplist th a:hover { color: var(--wp-blue); }
.wp-cplist__title { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wp-cplist__excerpt { display: block; margin-top: 2px; overflow: hidden; color: var(--wp-text-3); font-size: 13px; font-weight: 400; line-height: 1.6; text-overflow: ellipsis; white-space: nowrap; }
.wp-cplist .frm a { color: var(--wp-text-2); }
.wp-cplist > form > .pgs { margin: 14px 0 10px; }
.wp-cplist .wp-mcp__bulk { margin: 0 -20px -4px; padding: 12px 20px; border-top: 1px solid var(--wp-line); }
.wp-cplist table + .wp-mcp__bulk { margin-top: -1px; }
/* bulk bars */
.wp-mcp__bulk { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; margin: 12px 0 0; }
.wp-mcp__bulk .wp-cpcheck { margin-right: 4px; }
.wp-mcp__bulknote { color: var(--wp-text-3); font-size: 12px; }
.wp-mcp__bulk .pgs { margin: 0 0 0 auto; }
.wp-mcp > .pgs { margin: 16px 0 0; }
.wp-mcp__section--tools .wp-mcp__subtitle { flex: 1; }
.wp-cpsearch { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.wp-cpsearch .px { width: 180px; height: 36px; }
.wp-cpsearch .wp-select { width: auto; }
.wp-cpsearch .wp-select__btn, .wp-mcp__switch .wp-select__btn { min-width: 168px; height: 36px; }
.wp-cpsearch select.ps, .wp-mcp__switch select.ps { width: auto; height: 36px; }
.wp-mcp__switch .wp-select { width: auto; }
/* 内部留言 */
.wp-cpnote .wp-cpnote__text { min-height: 108px; }
.wp-cpnote__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 16px; margin: 14px 0 0; }
.wp-cpnote__opts { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.wp-cpnote__label { color: var(--wp-text-3); font-size: 13px; }
.wp-cpnote__expire { display: inline-flex; align-items: center; gap: 6px; color: var(--wp-text-2); font-size: 14px; white-space: nowrap; }
.wp-cpnote .wp-cpnote__expire .px { display: inline-block; width: 52px; height: 32px; padding: 0 6px; line-height: 30px; text-align: center; }
.wp-cpnote__bar .pn { height: 38px; padding: 0 20px; }
.wp-cpnotes { display: flex; flex-direction: column; gap: 12px; }
.wp-cpnotes__item { padding: 14px 18px; border: 1px solid var(--wp-line); border-radius: 14px; background: var(--wp-surface); }
.wp-cpnotes__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; color: var(--wp-text-3); font-size: 12px; }
.wp-cpnotes__meta input { margin: 0; }
.wp-cpnotes__admin { color: var(--wp-blue); font-size: 13px; font-weight: 500; }
.wp-cpnotes__exp { margin-left: auto; }
.wp-cpnotes__msg { margin: 8px 0 0; color: var(--wp-text); font-size: 14px; line-height: 1.75; word-break: break-word; }
/* member rows */
.wp-cpuser { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 12px; background: var(--wp-surface-2); }
.wp-cpuser__avatar { flex: none; width: 44px; height: 44px; overflow: hidden; border-radius: 50%; background: var(--wp-surface-3); }
.wp-cpuser__avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }
.wp-cpuser__info { display: flex; flex: 1; flex-direction: column; gap: 2px; min-width: 0; }
.wp-cpuser__name { overflow: hidden; color: var(--wp-text) !important; font-size: 15px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.wp-cpuser__name:hover { color: var(--wp-blue) !important; }
.wp-cpuser__meta { color: var(--wp-text-3); font-size: 12px; }
.wp-cpuser__side { flex: none; margin-left: auto; }
.wp-cpuser__status { padding: 3px 10px; border-radius: 999px; background: var(--wp-success-soft); color: var(--wp-success); font-size: 12px; font-weight: 500; }
.wp-cpuser__status.is-banned { background: var(--wp-danger-soft); color: var(--wp-danger); }
.wp-cpuser__btns { display: flex; gap: 8px; }
.wp-cpuser__btns .pn { height: 32px; padding: 0 14px; }
.wp-cpjoin { display: flex; flex-direction: column; gap: 10px; }
.wp-cpjoin .wp-cpuser { background: transparent; box-shadow: inset 0 -1px 0 var(--wp-line); border-radius: 0; padding: 10px 2px; }
.wp-cpjoin__all { display: flex; justify-content: flex-end; gap: 8px; margin: 0; }
.wp-cpmembers { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.wp-cpmembers li { margin: 0; }
.wp-cpmembers__item { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--wp-line); border-radius: 12px; background: var(--wp-surface); cursor: pointer; }
.wp-cpmembers__item .wp-cpuser__avatar { width: 32px; height: 32px; }
.wp-cpmembers__item a { min-width: 0; overflow: hidden; color: var(--wp-text) !important; text-overflow: ellipsis; white-space: nowrap; }
.wp-cpmember h5 { margin: 0 0 4px; color: var(--wp-text); font-size: 15px; font-weight: 600; }
.wp-cpmember p { margin: 2px 0 0; color: var(--wp-text-2); font-size: 13px; }
/* 审核 cards */
.wp-cpmods { display: flex; flex-direction: column; gap: 12px; margin: 16px 0 0; }
.wp-cpmod { padding: 16px 18px 14px; border: 1px solid var(--wp-line); border-radius: 16px; background: var(--wp-surface); }
.wp-cpmod__head { display: flex; align-items: flex-start; gap: 10px; }
.wp-cpmod__head > input { flex: none; margin: 3px 0 0; }
.wp-cpmod__where { flex: 1; min-width: 0; color: var(--wp-text); font-size: 15px; line-height: 1.5; cursor: pointer; }
.wp-cpmod__where a { color: var(--wp-blue) !important; font-weight: 500; }
.wp-cpmod__where em { margin: 0 6px; color: var(--wp-text-4); font-style: normal; }
.wp-cpmod__where strong { font-weight: 600; }
.wp-cpmod__censor { display: inline-flex; margin-left: 8px; padding: 1px 8px; border-radius: 6px; background: var(--wp-danger-soft); color: var(--wp-danger); font-size: 12px; font-weight: 500; vertical-align: 1px; }
.wp-cpmod__meta { display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 6px 0 0 26px; color: var(--wp-text-3); font-size: 12px; }
.wp-cpmod__author { color: var(--wp-text-2); font-weight: 500; }
.wp-cpmod__body { margin: 12px 0 0 26px; padding: 12px 14px; box-sizing: border-box; border-radius: 10px; background: var(--wp-surface-2); color: var(--wp-text); font-size: 14px; line-height: 1.75; }
.wp-cpmod__acts { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 12px 0 0 26px; }
.wp-cpmod__spacer { flex: 1; }
.wp-cpmod__act { display: inline-flex; align-items: center; height: 30px; padding: 0 12px; border-radius: 8px; background: var(--wp-surface-2); color: var(--wp-text-2) !important; font-size: 13px; white-space: nowrap; text-decoration: none !important; transition: background-color .2s, color .2s; }
.wp-cpmod__act:hover { background: var(--wp-surface-3); color: var(--wp-text) !important; }
.wp-cpmod__act.is-pass { background: var(--wp-blue-soft); color: var(--wp-blue) !important; }
.wp-cpmod__act.is-pass:hover { background: var(--wp-blue-fill); color: #FFFFFF !important; }
.wp-cpmod__act.is-danger { background: var(--wp-danger-soft); color: var(--wp-danger) !important; }
.wp-cpmod__act.is-danger:hover { background: var(--wp-danger); color: #FFFFFF !important; }
.wp-cpmod__act.is-plain { padding: 0 8px; background: transparent; color: var(--wp-blue) !important; }
.wp-cpmod__act.is-plain:hover { background: var(--wp-blue-soft); color: var(--wp-blue) !important; }
.wp-cpmember .wp-cpmod__acts { margin: 10px 0 0; }
/* rules / announcement editor */
.wp-mcp .wp-cpeditor { width: auto; overflow: hidden; border-color: var(--wp-input-border); border-radius: 10px; }
.wp-mcp .wp-cpeditor .area { padding: 0; }
.wp-mcp .wp-cpeditor .area .pt { min-height: 160px; border: 0; border-radius: 0; box-shadow: none; }
.wp-cpflags { display: flex; flex-wrap: wrap; gap: 6px; }
.wp-cpflags span { padding: 1px 8px; border-radius: 6px; background: var(--wp-surface-2); }
.wp-cppreview { margin: 14px 0 0; padding: 12px 14px; border: 1px dashed var(--wp-border); border-radius: 10px; color: var(--wp-text); line-height: 1.75; }
.wp-cppreview:empty { display: none; }
.wp-mcp #anno_type_url { margin-top: 0; }
@media (max-width: 767px) {
	.wp-mcp__title { font-size: 18px; }
	.wp-cpcard { padding: 16px; border-radius: 14px; }
	.wp-cpform__grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
	.wp-cpform__foot .pn { flex: 1; }
	.wp-mcp__section { margin-top: 22px; }
	.wp-cplist { padding: 0 12px; }
	.wp-cplist .wp-mcp__bulk { margin: 0 -12px; padding: 12px; }
	.wp-cplist .tl .o, .wp-cplist .o { display: table-cell; }
	.wp-mcp__section--tools { align-items: stretch; flex-direction: column; }
	.wp-cpsearch .px { flex: 1; width: auto; min-width: 0; }
	.wp-cpuser { flex-wrap: wrap; }
	.wp-cpnote__bar .pn { flex: 1; }
	.wp-cpnotes__exp { margin-left: 0; }
	.wp-cpmod { padding: 14px; }
	.wp-cpmod__meta, .wp-cpmod__body, .wp-cpmod__acts { margin-left: 0; }
	.wp-mcp__bulk .pgs { margin-left: 0; }
}

/* ---------- Private message chat window (default home/spacecp_pm.php op=showmsg, opened by 发消息; user, 2026-09-17) ----------
   title row, the two links as a quiet row, the conversation as chat bubbles (the other person on the left, me on the right in blue),
   a plain text box (no formatting / smilies bar, like the comment box) with 刷新 on the left and 发送 on the right. Discuz gives the list
   and the editor fixed widths (360px / 365px), which overflowed the window on phones */
.pm { width: 420px; overflow: hidden; border-radius: 12px; }
.pm .flb { display: flex; align-items: center; gap: 8px; margin: 0; padding: 16px 16px 10px 20px; background: transparent; }
.pm .flb em { flex: 1; min-width: 0; overflow: hidden; color: var(--wp-text); font-size: 16px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.pm .flb em::before { display: none; }
.pm .flb > span { flex: none; }
.pm .pm_tac { display: flex; justify-content: space-between; gap: 12px; padding: 0 20px 12px; border-bottom: 1px solid var(--wp-line); background: transparent; font-size: 13px; line-height: 1.5; }
.pm .pm_tac a { float: none; min-width: 0; overflow: hidden; color: var(--wp-blue) !important; text-overflow: ellipsis; white-space: nowrap; }
.pm .pm_tac a.y { order: 2; }
.pm .c { padding: 0; background: var(--wp-surface-2); }
.pm .pmb { box-sizing: border-box; width: auto; height: 320px; margin: 0; padding: 14px 16px 6px; overflow-x: hidden; overflow-y: auto; list-style: none; }
.pm .pmb li { display: flex; flex-direction: column; align-items: flex-start; margin: 0 0 10px; }
.pm .pmb li.pmm { align-items: flex-end; }
.pm .pmb li:has(> h4) { align-items: center; margin: 4px 0 12px; }
.pm .pmb h4 { margin: 0; padding: 2px 10px; border-radius: 10px; background: var(--wp-surface-3); color: var(--wp-text-3); font-size: 12px; font-weight: 400; line-height: 18px; }
.pm .pmt { display: none; }
.pm .pmd, .pm .pmd img { max-width: 78%; }
.pm .pmd { float: none; box-sizing: border-box; padding: 8px 12px; border: 0; border-radius: 16px 16px 16px 4px; background: var(--wp-elevated); box-shadow: 0 1px 2px rgba(0, 0, 0, .06); color: var(--wp-text); font-size: 14px; line-height: 1.6; word-break: break-word; }
.pm .pmd img { max-width: 100%; border-radius: 8px; }
.pm .pmm .pmd { border-radius: 16px 16px 4px 16px; background: var(--wp-blue-fill); box-shadow: none; color: #FFFFFF; }
.pm .pmm .pmd a { color: #FFFFFF; text-decoration: underline; }
.pm .pmfm { padding: 12px 16px 16px; border-top: 1px solid var(--wp-line); background: var(--wp-elevated); }
.pm .pmfm [id^="return_"]:empty { display: none; }
.pm .pmfm .tedt { width: auto; margin: 0; overflow: hidden; border: 1px solid var(--wp-border); border-radius: 12px; background: var(--wp-surface-2); transition: border-color .2s, box-shadow .2s; }
.pm .pmfm .tedt:focus-within { border-color: var(--wp-blue); background: var(--wp-bg); box-shadow: 0 0 0 3px var(--wp-blue-soft); }
.pm .pmfm .tedt .bar { display: none !important; }
.pm .pmfm .tedt .area { padding: 0; background: transparent; }
.pm .pmfm .tedt .pt { display: block; width: 100% !important; height: 72px; min-height: 0; margin: 0; padding: 10px 12px !important; box-sizing: border-box; border: 0 !important; background: transparent !important; box-shadow: none !important; color: var(--wp-text); font-size: 14px; line-height: 1.6; resize: none; }
.pm .pmfm .pns { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 10px 0 0; }
.pm .pmfm .pns::after { display: none; }
.pm .pmfm .pns .pn { order: 2; float: none; height: 36px; margin: 0; padding: 0 22px; border-radius: 18px; line-height: 1; }
.pm .pmfm .pma { order: 1; float: none; margin: 0; }
.pm .pma a { display: inline-flex; align-items: center; gap: 4px; margin: 0; color: var(--wp-text-3) !important; font-size: 13px; }
.pm .pma a:hover { color: var(--wp-blue) !important; }
.pm .pma a i { margin: 0; font-size: 15px; }
@media (max-width: 767px) {
	.pm { width: auto; }
	.fwin .m_c .pm .c { max-height: none; overflow: visible; }
	.pm .pmb { height: min(300px, 42vh); }
	.pm .pmfm .tedt .pt { height: 64px; min-height: 0; font-size: 16px; }
}

/* avatar hover cards are off: header_common.php sets showusercard = '0', so common.js never binds the c="1" avatar links;
   this hides the ajaxmenu card (class "p_pop card") should anything else open one */
.p_pop.card { display: none !important; }

/* comment moderation bar (forum/viewthread.php #mdly): ticking 管理 under a comment runs modclick() (static/js/forum_moderate.js),
   which shows #mdly with an inline top/left 215px left of the box; as an absolute box near the right edge it shrank to one
   character per line. The theme pins it as a floating bar at the bottom of the window, above the page but under float windows
   (z 200+) so the dialog an action opens covers it; its close button unticks every box (wp.js initModSelect) */
#mdly.wp-modsel { position: fixed !important; top: auto !important; right: auto !important; bottom: 28px !important; left: 50% !important; z-index: 199 !important; display: flex; align-items: center; gap: 4px; width: auto !important; max-width: calc(100vw - 32px); height: auto !important; margin: 0 !important; padding: 6px 6px 6px 20px !important; box-sizing: border-box; overflow: visible !important; border: 1px solid var(--wp-border); border-radius: 999px !important; background: var(--wp-elevated) !important; box-shadow: var(--wp-shadow-lg) !important; color: var(--wp-text-2); font-size: 14px; line-height: 1 !important; white-space: nowrap; translate: -50% 0; animation: wp-modsel-in .22s ease; }
@keyframes wp-modsel-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.wp-modsel__count { display: flex; align-items: center; flex: none; gap: 5px; }
.wp-modsel__count strong { min-width: 10px; color: var(--wp-accent) !important; font-size: 17px; font-weight: 600; text-align: center; font-variant-numeric: tabular-nums; }
.wp-modsel__count::after { content: ""; width: 1px; height: 18px; margin: 0 10px 0 11px; background: var(--wp-border); }
.wp-modsel__acts { display: flex; align-items: center; gap: 6px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.wp-modsel__acts::-webkit-scrollbar { display: none; }
#mdly .wp-modsel__acts a { display: inline-flex; align-items: center; flex: none; height: 34px; padding: 0 16px; border-radius: 17px; background: var(--wp-surface-2); color: var(--wp-text) !important; font-size: 14px; text-decoration: none; transition: background-color .2s, color .2s; }
#mdly .wp-modsel__acts a:hover { background: var(--wp-blue-soft); color: var(--wp-blue) !important; }
#mdly .wp-modsel__acts a.is-danger:hover { background: var(--wp-danger-soft); color: var(--wp-danger) !important; }
.wp-modsel__close { display: grid; place-items: center; flex: none; width: 34px; height: 34px; margin-left: 2px; padding: 0; border: 0; border-radius: 50%; background: none; color: var(--wp-text-3); cursor: pointer; transition: background-color .2s, color .2s; }
.wp-modsel__close:hover { background: var(--wp-surface-2); color: var(--wp-text); }
.wp-modsel__close .wp-i { width: 18px; height: 18px; }
.wp-cmt__manage { cursor: pointer; }
.wp-cmt__manage:has(input:checked) { color: var(--wp-blue); }
/* narrow windows: full width above the 54px tab bar, actions scroll sideways (faded at the right edge), and the back-to-top buttons
   step aside while the bar is up (Discuz writes display:none either way, with or without the space) */
@media (max-width: 767px) {
	#mdly.wp-modsel { right: 12px !important; bottom: calc(66px + env(safe-area-inset-bottom)) !important; left: 12px !important; max-width: none; padding-left: 16px !important; translate: none; }
	.wp-modsel__count::after { margin: 0 8px 0 10px; }
	.wp-modsel__acts { flex: 1 1 auto; -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 24px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 24px), transparent); }
	.wp-modsel__acts::after { content: ""; flex: none; width: 18px; height: 1px; }
	body:has(#mdly.wp-modsel:not([style*="display:none"]):not([style*="display: none"])) #scrolltop.wp-fab { visibility: hidden !important; opacity: 0 !important; }
}

/* header message badge: Discuz's newpm is a flag, so the page renders the badge empty (a dot) and wp.js initNotify writes the count */
.wp-entry .wp-count:empty { min-width: 0; width: 8px; height: 8px; padding: 0; top: 7px; left: calc(50% + 7px); }

/* new message card (wp.js initNotify): slides in under the header at the right; on narrow windows it spans the top */
.wp-pmnote { position: fixed; top: calc(var(--wp-header-h) + 12px); right: 20px; z-index: 9998; display: flex; align-items: flex-start; width: 340px; max-width: calc(100vw - 32px); box-sizing: border-box; border: 1px solid var(--wp-border); border-radius: 16px; background: var(--wp-elevated); box-shadow: var(--wp-shadow-lg); visibility: hidden; opacity: 0; transform: translateX(24px); transition: opacity .25s ease, transform .32s cubic-bezier(.2, .8, .2, 1), visibility .32s; }
.wp-pmnote.is-show { visibility: visible; opacity: 1; transform: none; }
.wp-pmnote__main { display: flex; align-items: flex-start; gap: 12px; flex: 1 1 auto; min-width: 0; margin: 0; padding: 14px 4px 14px 14px; border: 0; border-radius: 16px 0 0 16px; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.wp-pmnote__avatar { display: grid; place-items: center; flex: none; width: 42px; height: 42px; overflow: hidden; border-radius: 50%; background: var(--wp-accent-soft); color: var(--wp-accent); }
.wp-pmnote__avatar img { display: block; width: 100%; height: 100%; object-fit: cover; }
.wp-pmnote__avatar .wp-i { width: 22px; height: 22px; }
.wp-pmnote__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.wp-pmnote__head { display: flex; align-items: center; gap: 6px; min-width: 0; }
.wp-pmnote__title { overflow: hidden; color: var(--wp-text); font-size: 14px; font-weight: 600; line-height: 21px; text-overflow: ellipsis; white-space: nowrap; }
.wp-pmnote__tag { flex: none; height: 18px; padding: 0 6px; border-radius: 9px; background: var(--wp-accent-soft); color: var(--wp-accent); font-size: 11px; font-weight: 500; line-height: 18px; }
.wp-pmnote__text { display: -webkit-box; overflow: hidden; color: var(--wp-text-2); font-size: 13px; line-height: 20px; overflow-wrap: anywhere; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.wp-pmnote__meta { margin-top: 2px; color: var(--wp-text-3); font-size: 12px; line-height: 18px; transition: color .2s; }
.wp-pmnote__main:hover .wp-pmnote__meta { color: var(--wp-blue); }
.wp-pmnote__close { display: grid; place-items: center; flex: none; width: 30px; height: 30px; margin: 9px 9px 0 0; padding: 0; border: 0; border-radius: 50%; background: none; color: var(--wp-text-3); cursor: pointer; transition: background-color .2s, color .2s; -webkit-tap-highlight-color: transparent; }
.wp-pmnote__close:hover { background: var(--wp-surface-2); color: var(--wp-text); }
.wp-pmnote__close .wp-i { width: 16px; height: 16px; }
@media (max-width: 767px) {
	.wp-pmnote { top: calc(env(safe-area-inset-top, 0px) + 8px); right: 10px; left: 10px; width: auto; max-width: none; transform: translateY(-16px); }
}

/* private messages (theme home/space_pm.php, space_pm_node.php; the 通知 sidebar is home/space_prompt_nav.php without 坛友互动).
   List: a head (消息 + unread count, 全部 / 未读, 短消息设置; no 公共消息 tab, no 发送消息 button), conversations as rows (checkbox,
   avatar with an unread dot, name and time, a one-line preview, message count and a more menu; addBlockLink opens the row) and a
   bottom bar. A conversation reads as chat bubbles, mine on the right in blue, above a plain reply box (the format bar is hidden) */
.wp-pm__head, .wp-listhead { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; margin: 0 0 14px; }
.wp-pm__title, .wp-listhead__title { display: flex; align-items: center; gap: 8px; margin: 0; padding: 0; border: 0; color: var(--wp-text); font-size: 20px; font-weight: 600; line-height: 1.3; }
.wp-pm__num { min-width: 22px; height: 22px; padding: 0 7px; box-sizing: border-box; border-radius: 11px; background: var(--wp-accent-fill); color: #FFFFFF; font-size: 12px; font-style: normal; font-weight: 500; line-height: 22px; text-align: center; font-variant-numeric: tabular-nums; }
.wp-pm__back { display: inline-flex; align-items: center; gap: 2px; height: 38px; margin-left: -10px; padding: 0 14px 0 6px; border-radius: 10px; color: var(--wp-text) !important; font-size: 17px; font-weight: 600; transition: background-color .2s; }
.wp-pm__back:hover { background: var(--wp-surface-2); }
.wp-pm__back .wp-i { width: 22px; height: 22px; }
.wp-pm__crumbs { display: flex; align-items: center; min-width: 0; }
.wp-pm__crumb { overflow: hidden; color: var(--wp-text-2); font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.wp-pm__crumb::before { content: "/"; margin: 0 10px 0 2px; color: var(--wp-text-4); }
.wp-pm__tools { display: flex; align-items: center; gap: 8px; }
.wp-pm__set { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 12px; border-radius: 10px; color: var(--wp-text-2) !important; font-size: 14px; white-space: nowrap; transition: background-color .2s, color .2s; }
.wp-pm__set:hover { background: var(--wp-surface-2); color: var(--wp-text) !important; }
.wp-pm__set .wp-i { width: 18px; height: 18px; }
.wp-listhead__side { color: var(--wp-text-3); font-size: 14px; white-space: nowrap; }
.wp-listhead__side .xw1, .wp-listhead__side strong { color: var(--wp-text); font-weight: 600; }

.wp-pmlist { display: flex; flex-direction: column; gap: 2px; margin: 0; }
.wp-pmrow { position: relative; display: flex; align-items: center; gap: 14px; margin: 0; padding: 14px 10px 14px 12px; border-radius: 14px; cursor: pointer; transition: background-color .2s; }
.wp-pmrow:hover { background: var(--wp-surface-2); }
.wp-pmrow + .wp-pmrow::before { content: ""; position: absolute; top: -1px; right: 12px; left: 104px; height: 1px; background: var(--wp-line); transition: opacity .2s; }
.wp-pmrow:hover::before, .wp-pmrow:hover + .wp-pmrow::before { opacity: 0; }
.wp-pmrow dd { margin: 0; padding: 0; }
.wp-pmrow__check { display: flex; flex: none; }
.wp-pmrow__check .pc, .wp-pm__all .pc { margin: 0; }
.wp-pmrow__avatar { position: relative; flex: none; width: 48px; height: 48px; }
.wp-pmrow__avatar > a { display: block; width: 48px; height: 48px; overflow: hidden; border-radius: 50%; }
.wp-pmrow__avatar img { display: block; width: 48px; height: 48px; object-fit: cover; }
.wp-pmrow__icon { display: grid !important; place-items: center; background: var(--wp-blue-soft); color: var(--wp-blue) !important; }
.wp-pmrow__icon .wp-i { width: 22px; height: 22px; }
.wp-pmrow__dot { position: absolute; top: 1px; right: 1px; width: 10px; height: 10px; border-radius: 50%; background: var(--wp-danger); box-shadow: 0 0 0 2px var(--wp-bg); transition: box-shadow .2s; }
.wp-pmrow:hover .wp-pmrow__dot { box-shadow: 0 0 0 2px var(--wp-surface-2); }
.wp-pmrow__main { flex: 1 1 auto; min-width: 0; }
.wp-pmrow__top { display: flex; align-items: baseline; gap: 8px; min-width: 0; }
.wp-pmrow__name { overflow: hidden; color: var(--wp-text) !important; font-size: 15px; font-weight: 600; line-height: 22px; text-overflow: ellipsis; white-space: nowrap; }
a.wp-pmrow__name:hover { color: var(--wp-blue) !important; }
.wp-pmrow__tag { flex: none; color: var(--wp-text-3); font-size: 12px; white-space: nowrap; }
.wp-pmrow__time { color: var(--wp-text-3); font-size: 12px; line-height: 22px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.wp-pmrow__time span { color: inherit !important; }
.wp-pmrow__text { display: block; margin-top: 3px; overflow: hidden; color: var(--wp-text-2) !important; font-size: 14px; line-height: 22px; text-overflow: ellipsis; white-space: nowrap; }
.wp-pmrow__text img { max-height: 20px; vertical-align: -4px; }
.wp-pmrow.newpm .wp-pmrow__text { color: var(--wp-text) !important; }
.wp-pmrow__me { color: var(--wp-text-3); }
.wp-pmrow__side { display: flex; align-self: stretch; align-items: center; gap: 8px; flex: none; }
.wp-pmrow__meta { display: flex; align-self: flex-start; flex-direction: column; align-items: flex-end; gap: 3px; }
.wp-pmrow__count { color: var(--wp-text-4); font-size: 12px; line-height: 22px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.wp-pm .pm_o { display: flex; width: auto; }
a.wp-pmrow__more, a.wp-pmmsg__more { float: none !important; display: grid !important; place-items: center; width: 32px !important; height: 32px !important; margin: 0 !important; overflow: hidden; border-radius: 8px; color: var(--wp-text-3) !important; font-size: 0 !important; line-height: 0 !important; text-indent: 0; transition: background-color .2s, color .2s, opacity .2s; }
a.wp-pmrow__more::before, a.wp-pmmsg__more::before { content: "" !important; width: 18px; height: 18px; background: currentColor; font-family: inherit !important; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Ccircle cx='5' cy='12' r='1.9'/%3E%3Ccircle cx='12' cy='12' r='1.9'/%3E%3Ccircle cx='19' cy='12' r='1.9'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Ccircle cx='5' cy='12' r='1.9'/%3E%3Ccircle cx='12' cy='12' r='1.9'/%3E%3Ccircle cx='19' cy='12' r='1.9'/%3E%3C/svg%3E") center / contain no-repeat; }
a.wp-pmrow__more:hover, a.wp-pmmsg__more:hover { background: var(--wp-surface-3); color: var(--wp-text) !important; }

.wp-pm__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 10px 0 0; padding: 14px 0 0 12px; border-top: 1px solid var(--wp-line); }
.wp-pm__all { display: inline-flex; align-items: center; gap: 14px; margin-right: 8px; color: var(--wp-text-2); font-size: 14px; cursor: pointer; }
.wp-pm .wp-pm__btn { display: inline-flex; align-items: center; gap: 6px; height: 38px; margin: 0; padding: 0 14px; border-radius: 10px; color: var(--wp-text-2); line-height: 1; }
.wp-pm .wp-pm__btn strong { font-weight: 400; }
.wp-pm .wp-pm__btn .wp-i { width: 16px; height: 16px; }
.wp-pm .wp-pm__btn:hover { border-color: var(--wp-blue); background: var(--wp-bg); color: var(--wp-blue); }
.wp-pm .wp-pm__btn[name="deletepmsubmit_btn"]:hover { border-color: var(--wp-danger); color: var(--wp-danger); }
.wp-pm__pages { margin-left: auto; }
.wp-pm__pages .pg { float: none; }

.wp-pmbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 16px; margin: 0 0 4px; padding: 8px 8px 8px 16px; border-radius: 12px; background: var(--wp-surface-2); color: var(--wp-text-2); font-size: 13px; line-height: 1.6; }
.wp-pmbar__info a { color: var(--wp-blue) !important; }
.wp-pmbar__acts { display: flex; gap: 4px; margin-left: auto; }
.wp-pmbar__btn { display: inline-flex; align-items: center; gap: 5px; height: 30px; padding: 0 10px; border-radius: 8px; color: var(--wp-text-2) !important; font-size: 13px; white-space: nowrap; transition: background-color .2s, color .2s; }
.wp-pmbar__btn:hover { background: var(--wp-bg); color: var(--wp-text) !important; }
.wp-pmbar__btn.is-danger:hover { color: var(--wp-danger) !important; }
.wp-pmbar__btn .wp-i { width: 15px; height: 15px; }

.wp-pmchat { display: flex; flex-direction: column; gap: 18px; margin: 0; padding: 20px 2px 24px; }
.wp-pmchat > a[name] { display: none; }
.wp-pmmsg { display: flex; align-items: flex-start; gap: 12px; margin: 0; }
.wp-pmmsg dd { margin: 0; padding: 0; }
.wp-pmmsg.is-me { flex-direction: row-reverse; }
.wp-pmmsg__avatar { flex: none; width: 40px; height: 40px; }
.wp-pmmsg__avatar a { display: block; width: 40px; height: 40px; overflow: hidden; border-radius: 50%; }
.wp-pmmsg__avatar img { display: block; width: 40px; height: 40px; object-fit: cover; }
.wp-pmmsg__body { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; max-width: min(72%, 560px); }
.wp-pmmsg.is-me .wp-pmmsg__body { align-items: flex-end; }
.wp-pmmsg__bubble { max-width: 100%; padding: 10px 14px; box-sizing: border-box; border-radius: 4px 16px 16px 16px; background: var(--wp-surface-2); color: var(--wp-text); font-size: 15px; line-height: 1.65; overflow-wrap: anywhere; }
.wp-pmmsg.is-me .wp-pmmsg__bubble { border-radius: 16px 4px 16px 16px; background: var(--wp-blue-fill); color: #FFFFFF; }
.wp-pmmsg.is-me .wp-pmmsg__bubble a { color: #FFFFFF !important; text-decoration: underline; }
.wp-pmmsg__bubble img { max-width: 100%; height: auto; border-radius: 8px; vertical-align: middle; }
.wp-pmmsg__bubble img[smilieid] { border-radius: 0; }
.wp-pmmsg__bubble blockquote, .wp-pmmsg__bubble .quote { margin: 4px 0; padding: 6px 10px; border-left: 3px solid currentColor; border-radius: 6px; background: rgba(0, 0, 0, .06); opacity: .85; }
.wp-pmmsg__meta { display: flex; align-items: center; gap: 2px; min-height: 24px; margin-top: 4px; color: var(--wp-text-4); font-size: 12px; font-variant-numeric: tabular-nums; }
.wp-pmmsg.is-me .wp-pmmsg__meta { flex-direction: row-reverse; }
.wp-pmmsg__meta span { color: inherit !important; }
a.wp-pmmsg__more { width: 24px !important; height: 24px !important; opacity: 0; }
a.wp-pmmsg__more::before { width: 15px; height: 15px; }
.wp-pmmsg:hover a.wp-pmmsg__more, a.wp-pmmsg__more:focus-visible { opacity: 1; }
@media (hover: none) { a.wp-pmmsg__more { opacity: 1; } }

.wp-pmreply { margin: 0; padding: 16px 0 0; border-top: 1px solid var(--wp-line); }
.wp-pmreply .tedt { width: auto; border-radius: 14px; background: var(--wp-bg); }
.wp-pmreply .tedt:focus-within { border-color: var(--wp-blue) !important; }
.wp-pmreply .tedt .bar { display: none; }
.wp-pmreply .tedt .bar:has(#refreshtip) { display: flex; min-height: 34px; background: transparent; }
.wp-pmreply .tedt .bar:has(#refreshtip) .fpd { display: none; }
.wp-pmreply .tedt .area { padding: 0; background: transparent; }
.wp-pmreply .tedt .pt { display: block; width: 100% !important; height: 96px; min-height: 0; margin: 0; padding: 12px 14px !important; box-sizing: border-box; resize: vertical; }
.wp-pmreply__foot { display: flex; align-items: center; gap: 12px; margin-top: 10px; }
.wp-pmreply__hint { color: var(--wp-text-4); font-size: 12px; }
.wp-pmreply #pmforum_return { flex: 1 1 auto; min-width: 0; color: var(--wp-text-3); font-size: 13px; }
.wp-pmreply__foot .pn { flex: none; height: 38px; margin: 0 0 0 auto; padding: 0 26px; border-radius: 19px; line-height: 1; }

.wp-pm #pmsettingform { padding: 6px 24px; border: 1px solid var(--wp-line); border-radius: 16px; background: var(--wp-surface); }
.wp-pm #pmsettingform .tfm { width: 100%; margin: 0 !important; }
.wp-pm #pmsettingform .tfm th { width: 150px; padding: 20px 16px 16px 0; color: var(--wp-text); font-weight: 500; vertical-align: top; }
.wp-pm #pmsettingform .tfm td { padding: 16px 0; }
.wp-pm #pmsettingform .tfm tr + tr th, .wp-pm #pmsettingform .tfm tr + tr td { border-top: 1px solid var(--wp-line); }
.wp-pm #pmsettingform .tfm tr:last-child th, .wp-pm #pmsettingform .tfm tr:last-child td { border-top: 0; padding-top: 4px; }
.wp-pm #pmsettingform .lb { display: inline-flex; align-items: center; gap: 6px; margin: 0 22px 0 0; line-height: 28px; }
.wp-pm #pmsettingform .pt { width: 100%; max-width: 440px; height: 96px; }
.wp-pm #pmsettingform .d { margin-top: 6px; }
.wp-pm #pmsettingform .pn { height: 38px; padding: 0 26px; border-color: transparent; border-radius: 19px; background: var(--wp-blue-fill); color: #FFFFFF; }
.wp-pm #pmsettingform .pn:hover { background: var(--wp-blue-hover); }

@media (max-width: 767px) {
	.wp-pm__title { font-size: 18px; }
	.wp-pm__set { width: 38px; padding: 0; justify-content: center; }
	.wp-pm__set span { display: none; }
	.wp-pmrow { gap: 10px; padding: 12px 4px 12px 6px; }
	.wp-pmrow + .wp-pmrow::before { right: 4px; left: 86px; }
	.wp-pmrow__avatar, .wp-pmrow__avatar > a, .wp-pmrow__avatar img { width: 44px; height: 44px; }
	.wp-pmrow__count { display: none; }
	.wp-pm__foot { padding-left: 6px; }
	.wp-pm__pages { width: 100%; margin-left: 0; }
	.wp-pmmsg__body { max-width: calc(100% - 56px); }
	.wp-pmreply__hint { display: none; }
	.wp-pmreply .tedt .pt { font-size: 16px; }
	.wp-pm #pmsettingform { padding: 4px 16px; }
	.wp-pm #pmsettingform .tfm th, .wp-pm #pmsettingform .tfm td { display: block; width: auto; padding: 14px 0 6px; }
	.wp-pm #pmsettingform .tfm td { padding: 0 0 14px; border-top: 0 !important; }
}

/* friend list (theme home/space_friend.php, space_friend_nav.php): a list head (.wp-listhead, shared with the private message page head: 好友列表 + friend count; no tab row, no 好友热度 sort
   line), no right column (查找好友 / 好友分组), a sidebar without 查找好友 / 可能认识的人 / 好友分组. Friends are cards in a grid:
   round avatar with an online dot, name, note and recent status, pill actions (关注 / 互动 / 管理; no 热度 counter, no 设置好友分组) */
#friend_ul { margin: 0 0 8px; }
#friend_ul > h2 { margin: 24px 0 12px; color: var(--wp-text); font-size: 16px; font-weight: 600; }
#friend_ul .buddy { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; margin: 0; }
#friend_ul .buddy::after { display: none; }
#friend_ul .buddy li { position: relative; float: none; display: block; width: auto; height: auto; margin: 0; padding: 14px 14px 12px 76px; overflow: visible; border: 1px solid var(--wp-line); border-radius: 14px; background: var(--wp-surface); transition: border-color .2s, box-shadow .2s; }
#friend_ul .buddy li:hover { border-color: var(--wp-border); box-shadow: var(--wp-shadow); }
#friend_ul .buddy .avt { position: absolute; top: 14px; left: 14px; margin: 0; }
#friend_ul .buddy .avt a { position: relative; display: block; width: 48px; height: 48px; }
#friend_ul .buddy .avt img { display: block; width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
#friend_ul .buddy .gol { position: absolute; right: 1px; bottom: 1px; z-index: 1; width: 10px; height: 10px; margin: 0; border-radius: 50%; background: var(--wp-success); box-shadow: 0 0 0 2px var(--wp-surface); }
#friend_ul .buddy .gol::before { display: none; }
#friend_ul .buddy h4 { display: flex; align-items: center; gap: 6px; height: auto; margin: 0; overflow: visible; font-size: 15px; font-weight: 600; line-height: 22px; }
#friend_ul .buddy h4 > a { min-width: 0; overflow: hidden; color: var(--wp-text); text-overflow: ellipsis; white-space: nowrap; }
#friend_ul .buddy h4 > a:hover { color: var(--wp-blue); }
#friend_ul .buddy h4 > .y { order: 9; float: none; flex: none; margin-left: auto; color: var(--wp-text-3); font-size: 12px; font-weight: 400; }
#friend_ul .buddy h4 > .y:empty { display: none; }
#friend_ul .buddy .note { min-width: 0; overflow: hidden; color: var(--wp-text-3); font-size: 12px; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }
#friend_ul .buddy .maxh { height: 20px; margin: 2px 0 0; overflow: hidden; color: var(--wp-text-3); font-size: 13px; line-height: 20px; text-overflow: ellipsis; white-space: nowrap; }
#friend_ul .buddy li > .xg1 { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 12px 0 0 -62px; font-size: 13px; }
#friend_ul .buddy li > .xg1 .pipe { display: none; }
#friend_ul .buddy li > .xg1 a { display: inline-flex; align-items: center; height: 28px; padding: 0 12px; border-radius: 14px; background: var(--wp-surface-2); color: var(--wp-text-2) !important; line-height: 1; transition: background-color .2s, color .2s; }
#friend_ul .buddy li > .xg1 a:hover { background: var(--wp-blue-soft); color: var(--wp-blue) !important; }
#friend_ul .buddy li > .xg1 a.showmenu { padding-right: 12px; }
#friend_ul .buddy li > .xg1 a.showmenu::after { display: none; }
#friend_ul + .pgs { margin-top: 16px; }

/* float windows: the frame table's edge cells are zeroed (.fwin .t_l ... { width: 0 !important }), but .t_c / .b_c share the middle
   column with the content cell .m_c, and a fixed 0 width on a column makes auto table layout size it to min-content. A window whose
   content has nothing wide (批准申请 radio groups, a one-line confirm such as 忽略好友) then shrank to a word per line. Let the middle
   column size to its content, and give short dialogs a sensible minimum width */
.fwin .t_c, .fwin .b_c { width: auto !important; }
.fwin .m_c { min-width: 320px; }

/* private messages folded into 提醒 (header.php has no 消息 entry; wp.js notifyFold): on the notice page (home/space_notice.php) a
   card above the notices while messages are unread, with the count and the latest sender and preview; the 通知 sidebar shows counts
   as .wp-cpnum badges */
/* 提醒列表里未读的一条：Discuz 核心给的是写死的 color:#000（深色模式下看不见），模板改用 is-new 类，颜色跟主题走，保留加粗 */
.nts .ntc_body.is-new { color: var(--wp-text); font-weight: 700; }
.wp-noticepm { display: flex; align-items: center; gap: 14px; margin: 0 0 16px; padding: 14px 16px; border: 1px solid var(--wp-line); border-radius: 14px; background: var(--wp-surface); color: var(--wp-text) !important; transition: border-color .2s, background-color .2s; }
.wp-noticepm[hidden] { display: none; }
.wp-noticepm:hover { border-color: var(--wp-border); background: var(--wp-surface-2); }
.wp-noticepm__icon { display: grid; place-items: center; flex: none; width: 44px; height: 44px; overflow: hidden; border-radius: 50%; background: var(--wp-blue-soft); color: var(--wp-blue); }
.wp-noticepm__icon img { display: block; width: 100%; height: 100%; object-fit: cover; }
.wp-noticepm__icon .wp-i { width: 22px; height: 22px; }
.wp-noticepm__body { display: flex; flex: 1 1 auto; flex-direction: column; gap: 2px; min-width: 0; }
.wp-noticepm__head { display: flex; align-items: center; gap: 8px; min-width: 0; }
.wp-noticepm__head strong { color: var(--wp-text); font-size: 15px; font-weight: 600; line-height: 22px; }
.wp-noticepm__num { height: 20px; padding: 0 8px; border-radius: 10px; background: var(--wp-accent-fill); color: #FFFFFF; font-size: 12px; font-style: normal; font-weight: 500; line-height: 20px; white-space: nowrap; }
.wp-noticepm__num:empty { display: none; }
.wp-noticepm__text { overflow: hidden; color: var(--wp-text-2); font-size: 14px; line-height: 22px; text-overflow: ellipsis; white-space: nowrap; }
.wp-noticepm__arrow { flex: none; width: 18px; height: 18px; color: var(--wp-text-3); transition: transform .2s, color .2s; }
.wp-noticepm:hover .wp-noticepm__arrow { color: var(--wp-text-2); transform: translateX(2px); }
/* narrow windows: the 通知 sidebar turns into a sideways chip row; a count sits inline after the label instead of over it */
@media (max-width: 767px) {
	.tbn li:has(> em[class^="notice_"]) > .wp-cpnum { position: static; flex: none; transform: none; }
	.tbn li:has(> em[class^="notice_"]):has(> .wp-cpnum) > a { flex: none; padding-right: 0; }
	.tbn li:has(> em[class^="notice_"]):has(> .wp-cpnum) { gap: 8px; }
}

/* forum list pager: centred, 上一页 / 下一页 with chevrons, round page pills (current one blue), a 跳至 box; hidden when there is only
   one page */
.wp-pages { justify-content: center; margin: 32px 0 8px; }
.wp-pages:not(:has(.pg)) { display: none; }
.wp-pages #fd_page_bottom { display: contents; }
/* The forum list loads the next page as the reader reaches the end of this one, so the numbered pager would only repeat what already
   happened. It stays in the markup for crawlers and for a browser running without scripts - both of which need the links to reach page
   two at all - and goes away as soon as the script that does the loading is running. */
.wp-js #wp-fdpager { display: none; }
.wp-pages .pg { float: none; justify-content: center; gap: 6px; margin: 0; }
.wp-pages .pg > em { display: none; }
.wp-pages .pg a, .wp-pages .pg strong { min-width: 40px; height: 40px; padding: 0 12px; border-color: var(--wp-line); border-radius: 12px; background: var(--wp-surface); color: var(--wp-text-2); font-size: 14px; font-variant-numeric: tabular-nums; transition: border-color .2s, color .2s, background-color .2s; }
.wp-pages .pg a:hover { border-color: var(--wp-blue); background: var(--wp-surface); color: var(--wp-blue); }
.wp-pages .pg strong { border-color: var(--wp-blue-fill); background: var(--wp-blue-fill); color: #FFFFFF; font-weight: 600; }
.wp-pages .pg a.prev, .wp-pages .pg a.nxt { gap: 4px; padding: 0 14px; font-size: 0; }
.wp-pages .pg a.prev { padding-left: 10px; }
.wp-pages .pg a.nxt { padding-right: 10px; font-size: 14px; }
.wp-pages .pg a.prev::before, .wp-pages .pg a.nxt::after { content: "" !important; flex: none; width: 16px; height: 16px; margin: 0; border: 0; background: currentColor; -webkit-mask: var(--wp-pgchev) center / contain no-repeat; mask: var(--wp-pgchev) center / contain no-repeat; }
.wp-pages .pg a.prev::before { --wp-pgchev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 18-6-6 6-6'/%3E%3C/svg%3E"); }
.wp-pages .pg a.nxt::after { --wp-pgchev: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E"); }
.wp-pages .pg a.prev::after { content: var(--wp-l-prev, "上一页") !important; width: auto; height: auto; margin: 0; border: 0; background: none; font-size: 14px; line-height: 1; }
.wp-pages .pg label { gap: 6px; height: 40px; padding: 0 12px 0 6px; border-color: var(--wp-line); border-radius: 12px; background: var(--wp-surface); color: var(--wp-text-3); font-size: 13px; white-space: nowrap; }
.wp-pages .pg label .px { width: 44px; height: 28px; margin: 0; padding: 0 4px; border: 1px solid var(--wp-border); border-radius: 8px; background: var(--wp-bg); color: var(--wp-text); font-size: 14px; line-height: 26px; text-align: center; }
.wp-pages .pg label .px:focus { border-color: var(--wp-blue); box-shadow: 0 0 0 3px var(--wp-blue-soft); }
@media (max-width: 767px) {
	.wp-pages { margin-top: 24px; }
	.wp-pages .pg { gap: 5px; }
	.wp-pages .pg a, .wp-pages .pg strong { min-width: 36px; height: 36px; padding: 0 10px; border-radius: 10px; font-size: 13px; }
	.wp-pages .pg a.prev, .wp-pages .pg a.nxt { width: 36px; padding: 0; font-size: 0; }
	.wp-pages .pg a.prev::after { display: none; }
	.wp-pages .pg label { display: none; }
}

/* phones: inviting friends is PC-only (wp.js PC_NOTES.invite notes a direct visit), so the 好友 chip row has no 邀请好友 */
@media (max-width: 767px) {
	.tbn li:has(> a[href*="ac=invite"]) { display: none; }
}

/* 小黑屋 (theme misc/darkroom.php): no breadcrumb; the tag-page head card with a dark lock icon and the username search; the list is
   a rounded card table (the 更多 button's script still inserts table rows), 处罚 as a red pill, dates in muted tabular figures; on
   phones every row becomes its own card; an empty room shows a green-ticked shield */
.wp-darkroom { padding-top: 24px; }
.wp-pagehead--dark .wp-pagehead__icon { background: #18191C; color: #FFFFFF; box-shadow: 0 6px 14px -6px rgba(24, 25, 28, .55); }
:root[data-theme="dark"] .wp-pagehead--dark .wp-pagehead__icon { background: #F1F2F3; color: #18191C; box-shadow: none; }
.wp-darkroom__query { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: -8px 0 14px; color: var(--wp-text-3); font-size: 13px; }
.wp-darkroom__query strong { color: var(--wp-text); font-weight: 600; }
.wp-darkroom__query a { color: var(--wp-blue) !important; }
.wp-darkroom__card { overflow: hidden; border: 1px solid var(--wp-line); border-radius: 16px; background: var(--wp-surface); }
.wp-darkroom__table { width: 100%; margin: 0; border: 0; border-collapse: collapse; table-layout: fixed; }
.wp-darkroom__table th:first-child, .wp-darkroom__table td:first-child { padding-left: 20px; }
.wp-darkroom__table th { height: 46px; padding: 0 16px; border: 0; background: var(--wp-surface-2); color: var(--wp-text-3); font-size: 13px; font-weight: 500; text-align: left; white-space: nowrap; }
.wp-darkroom__table th:nth-child(1) { width: 17%; }
.wp-darkroom__table th:nth-child(2) { width: 12%; }
.wp-darkroom__table th:nth-child(3), .wp-darkroom__table th:nth-child(4) { width: 15%; }
.wp-darkroom__table td { padding: 16px; border: 0; border-top: 1px solid var(--wp-line); background: transparent; color: var(--wp-text-2); font-size: 14px; line-height: 1.6; vertical-align: middle; overflow-wrap: anywhere; transition: background-color .2s; }
.wp-darkroom__table tr:hover > td { background: var(--wp-surface-2); }
.wp-darkroom__table td:nth-child(1) a { color: var(--wp-text) !important; font-weight: 600; }
.wp-darkroom__table td:nth-child(1) a:hover { color: var(--wp-blue) !important; }
.wp-darkroom__table td:nth-child(3), .wp-darkroom__table td:nth-child(4) { color: var(--wp-text-3); font-size: 13px; font-variant-numeric: tabular-nums; }
.wp-darkroom__table td:nth-child(5):empty::after { content: "—"; color: var(--wp-text-4); }
.wp-darkroom__action { display: inline-flex; align-items: center; height: 24px; padding: 0 10px; border-radius: 12px; background: var(--wp-danger-soft); color: var(--wp-danger); font-size: 12px; font-weight: 500; white-space: nowrap; }
.wp-darkroom .wp-more { margin-top: 20px; }
.wp-darkroom__empty { margin-top: 8px; padding: 64px 16px 72px; border: 1px solid var(--wp-line); border-radius: 16px; background: var(--wp-surface); }
.wp-darkroom__empty.is-clean .wp-empty__art { background: rgba(42, 200, 100, .12); color: var(--wp-success); }
.wp-darkroom__empty.is-clean .wp-empty__art::after { content: "✓"; background: var(--wp-success); animation: none; }
.wp-darkroom__empty.is-clean p::before { content: "(｡･ω･｡)ﾉ♡"; }
@media (max-width: 767px) {
	.wp-darkroom { padding-top: 12px; }
	.wp-darkroom__card { overflow: visible; border: 0; border-radius: 0; background: none; }
	.wp-darkroom__table, .wp-darkroom__table tbody, .wp-darkroom__table td { display: block; width: auto; }
	.wp-darkroom__table tr:has(> th) { display: none; }
	.wp-darkroom__table tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; margin: 0 0 10px; padding: 14px 16px; border: 1px solid var(--wp-line); border-radius: 14px; background: var(--wp-surface); }
	.wp-darkroom__table td { padding: 0; border: 0; background: none !important; }
	.wp-darkroom__table td:nth-child(1) { align-self: center; font-size: 15px; }
	.wp-darkroom__table td:nth-child(2) { align-self: center; }
	.wp-darkroom__table td:nth-child(3), .wp-darkroom__table td:nth-child(4), .wp-darkroom__table td:nth-child(5) { grid-column: 1 / -1; font-size: 13px; }
	.wp-darkroom__table td:nth-child(3)::before { content: var(--wp-l-expire, "到期时间　"); color: var(--wp-text-4); }
	.wp-darkroom__table td:nth-child(4)::before { content: var(--wp-l-optime, "操作时间　"); color: var(--wp-text-4); }
	.wp-darkroom__table td:nth-child(5) { margin-top: 2px; padding-top: 8px; border-top: 1px dashed var(--wp-line); color: var(--wp-text-2); }
	.wp-darkroom__table td:nth-child(5)::before { content: var(--wp-l-reason, "理由　"); color: var(--wp-text-4); }
	.wp-darkroom__table td:nth-child(5):empty::after { content: "—"; }
	.wp-darkroom__empty { padding: 48px 16px 56px; }
}
