/* Forum usability corrections, 2026-10-28. */
body.discuzx5 .attach_nopermission { box-sizing: border-box; width: 600px; max-width: 100%; }
body.discuzx5 .attach_nopermission > div { box-sizing: border-box; width: auto; max-width: 100%; overflow-wrap: anywhere; }
body.discuzx5 .attach_tips h3 { padding-right: 28px; }
body.discuzx5 .attach_tips .atips_close { display: flex; align-items: center; justify-content: center; top: 3px; right: 3px; width: 32px; height: 32px; color: #64748b; }
body.discuzx5 .malab-register-note { box-sizing: border-box; max-width: 640px; margin: 20px auto; padding: 12px 16px; border: 1px solid #e9dfbb; border-radius: 8px; background: #fffdf4; color: #665a38; line-height: 1.8; }
body.discuzx5.ml-register-note #custominfo_register,
body.discuzx5.ml-register-note #custominfo_register_pmenu { display: none !important; }
body.discuzx5#nv_member #main_message > .bm,
body.discuzx5#nv_member #main_message.bm { border-radius: 12px; }
body.discuzx5 #main_message .rfm { box-sizing: border-box; width: 760px; max-width: 100%; }
body.discuzx5 #main_message .rfm table { width: 100%; table-layout: fixed; }
body.discuzx5 #main_message .rfm th { width: 110px; }
body.discuzx5 #main_message .rfm .tipcol { width: 240px; }
body.discuzx5 #main_message .rfm .p_tip,
body.discuzx5 #main_message .rfm .p_chk { box-sizing: border-box; max-width: 100%; white-space: normal; }
body.discuzx5 #main_message .rfm .px { box-sizing: border-box; max-width: 100%; min-height: 40px; }
body.discuzx5#nv_member #main_message .pn { min-height: 40px; }
body.discuzx5 .dz_list_top [role=button] { cursor: pointer; }
@media (max-width: 600px) {
  .pg_index #online .bm_h h3 { white-space: normal; }
  .pg_index #online .bm_h h3 .xs1 { display: block; white-space: normal; overflow-wrap: anywhere; }
  body.discuzx5 .dz_list_top { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; padding: 10px 12px; }
  body.discuzx5 .dz_list_top > a,
  body.discuzx5 .dz_list_top > #atarget { display: inline-flex; align-items: center; float: none; box-sizing: border-box; min-height: 40px; margin: 0; padding: 4px 6px; }
  body.discuzx5 .dz_list_top > .pipe { display: none; }
  body.discuzx5 .dz_list_top > .kmy,
  body.discuzx5 .dz_list_top > #atarget { order: 2; }
  body.discuzx5 .dz_list_top:after { content: ''; order: 1; flex-basis: 100%; }
  body.discuzx5 .dz_list_top .showmenu:after { margin-left: 4px; }
  body.discuzx5 #filter_special_menu,
  body.discuzx5 #filter_kmpx_menu,
  body.discuzx5 #filter_kmsj_menu { box-sizing: border-box; max-width: calc(100vw - 32px); }
  body.discuzx5 .dz_list_top ~ .p_pop a,
  body.discuzx5 #filter_special_menu a,
  body.discuzx5 #filter_kmpx_menu a,
  body.discuzx5 #filter_kmsj_menu a { min-height: 40px; box-sizing: border-box; line-height: 24px; padding: 8px 12px; }
  body.discuzx5 .header-user-login .login_btn a { height: 44px; line-height: 44px; }
  body.discuzx5 #main_message .rfm { width: auto; margin: 0 16px; }
  body.discuzx5 #main_message .rfm table,
  body.discuzx5 #main_message .rfm tbody,
  body.discuzx5 #main_message .rfm tr { display: block; width: 100%; }
  body.discuzx5 #main_message .rfm th,
  body.discuzx5 #main_message .rfm td { display: block; box-sizing: border-box; width: 100%; padding: 5px 0; text-align: left; }
  body.discuzx5 #main_message .rfm th:empty { display: none; }
  body.discuzx5 #main_message .rfm .px,
  body.discuzx5 #main_message .rfm select { width: 100%; max-width: 100%; min-height: 44px; font-size: 16px; }
  body.discuzx5 #main_message .rfm .login_slct select { width: auto; min-height: 32px; font-size: 14px; }
  body.discuzx5 #main_message .rfm .tipcol { width: 100%; min-height: 0; }
  body.discuzx5 #main_message .rfm .p_tip,
  body.discuzx5 #main_message .rfm .p_chk { width: auto; max-width: 100%; height: auto; white-space: normal; }
  body.discuzx5 #main_message .rfm .pn { min-height: 44px; min-width: 96px; }
  body.discuzx5#nv_member #main_message form > .c { padding: 10px 0; }
  body.discuzx5#nv_member #main_message .flb { margin-bottom: 0; }
  body.discuzx5 .malab-register-note { margin: 16px; }
}

/* Member entries must fit full names instead of the legacy 66px tile. */
.pg_index #portal_block_74 .module ul { display: flex; flex-direction: column; gap: 12px; }
.pg_index #portal_block_74 .module li { display: flex; align-items: center; gap: 12px; box-sizing: border-box; float: none; width: 100%; height: auto; padding: 0; margin: 0; text-align: left; }
.pg_index #portal_block_74 .module li > a { display: flex; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; }
.pg_index #portal_block_74 .module img { display: block; box-sizing: border-box; width: 44px; height: 44px; padding: 0; border: 1px solid #e5eaf0; border-radius: 50%; background: #f5f7fa; object-fit: cover; }
.pg_index #portal_block_74 .module li p { flex: 1; min-width: 0; height: auto; margin: 0; line-height: 1.6; white-space: normal; overflow: visible; }
.pg_index #portal_block_74 .module li p a { display: inline; white-space: normal; overflow-wrap: anywhere; color: #365978; }

/* Latest posts: give titles two readable lines and reserve a reply column. */
.pg_index #portal_block_76 .dxb_bc { padding: 6px 16px 12px; }
.pg_index #portal_block_76 .blocktitle:after { content: '回复'; float: right; color: #64748b; font-size: 11px; font-weight: 400; }
.pg_index #portal_block_76 .module ul { padding: 0; margin: 0; }
.pg_index #portal_block_76 .module li { display: grid; grid-template-columns: minmax(0, 1fr) 28px; align-items: center; gap: 10px; box-sizing: border-box; height: auto; min-height: 48px; margin: 0; padding: 10px 4px; border-bottom: 1px solid #edf0f4; font-size: 13px; line-height: 1.65; }
.pg_index #portal_block_76 .module li:last-child { border-bottom: 0; }
.pg_index #portal_block_76 .module li:before { display: none; }
.pg_index #portal_block_76 .module li > a { grid-column: 1; grid-row: 1; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; min-width: 0; max-width: 100%; overflow: hidden; white-space: normal; overflow-wrap: anywhere; color: #365978; text-decoration: none; }
.pg_index #portal_block_76 .module li > a:hover { color: #244b77; text-decoration: underline; }
.pg_index #portal_block_76 .module li > a:focus-visible { outline-offset: 2px; }
.pg_index #portal_block_76 .module li > em { grid-column: 2; grid-row: 1; float: none; box-sizing: border-box; min-width: 24px; width: 28px; height: auto; margin: 0; padding: 2px 3px; border-radius: 5px; font-size: 11px; line-height: 18px; text-align: center; color: #64748b; background: #f0f3f7; font-variant-numeric: tabular-nums; }

.pg_index #portal_block_76 .module li > a { word-break: normal; overflow-wrap: break-word; }
.pg_index #portal_block_76 .module li > a:before { display: none; content: none; }

/* Open the QR card upwards from its button, within the viewport. */
body.discuzx5 #dz_rnav a.dz_rwx .dz_rewm_box { top: auto; bottom: 0; }
body.discuzx5 #dz_rnav a.dz_rwx:focus-within .dz_rewm_box { display: block; }
body.discuzx5 #dz_rnav .dz_rewm { box-sizing: content-box; width: 140px; width: min(140px, calc(100dvh - 120px)); max-width: calc(100vw - 120px); }
body.discuzx5 #dz_rnav .dz_rewm img { width: 100%; height: auto; border-radius: 0; }
