/* From ??/bbs ? list shell/sidebar/feed + detail left layout.
   Hero banner (page-intro/plaza-hero) intentionally untouched.
   Marker: bbs-layout-orig:20260716wf1
*/

/* === FORCE layout ? align with other pages (.block.tight > .block-inner) === */
section.block.tight.plaza-app-section,
section.block.tight.plaza-app-section{
  /* keep same horizontal rhythm as task/rank/help */
  padding-left:var(--gx)!important;
  padding-right:var(--gx)!important;
  padding-top:clamp(30px,3.2vw,52px)!important;
  padding-bottom:clamp(30px,3.2vw,52px)!important;
  background:#fff;
}
.block-inner.plaza-shell,
.block-inner.plaza-shell,
.block-inner:has(> .bbs-detail-shell){
  max-width:var(--page-w)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.plaza-shell,.plaza-shell,.block-inner.plaza-shell,.block-inner.plaza-shell{
  display:grid!important;grid-template-columns:220px minmax(0,1fr)!important;gap:28px!important;align-items:start!important;
}
.plaza-left,.plaza-left{position:sticky!important;top:92px!important;display:flex!important;flex-direction:column!important;gap:18px!important;min-width:0!important;}
.plaza-main,.plaza-main{min-width:0!important;}
/* 列表：JS 瀑布流容器（.wf-cols / .wf-col）；未 layout 前扁平卡片作单列兜底 */
.plaza-feed-grid,.plaza-guide-feed,#bbsFeedGrid,.community-guide-feed{
  display:block!important;
  width:100%!important;
  box-sizing:border-box!important;
  column-count:unset!important;
}
.plaza-feed-grid:not(.is-waterfall),
#bbsFeedGrid:not(.is-waterfall),
.community-guide-feed:not(.is-waterfall):not(.plaza-question-feed){
  display:grid!important;
  grid-template-columns:repeat(2, minmax(0, 1fr))!important;
  gap:16px!important;
  align-items:start!important;
}
.plaza-feed-grid.is-waterfall,
#bbsFeedGrid.is-waterfall,
.community-guide-feed.is-waterfall{
  display:block!important;
}
.wf-featured{
  display:flex!important;
  flex-direction:column!important;
  gap:16px!important;
  width:100%!important;
  margin:0 0 16px!important;
  box-sizing:border-box!important;
}
.wf-cols{
  display:flex!important;
  gap:16px!important;
  align-items:flex-start!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.wf-col{
  flex:1 1 0!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:16px!important;
  box-sizing:border-box!important;
}
.plaza-feed-grid > .plaza-note-card,
#bbsFeedGrid > .plaza-note-card,
.community-guide-feed > .plaza-note-card,
.wf-col > .plaza-note-card,
.wf-featured > .plaza-note-card{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  break-inside:auto!important;
  float:none!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.plaza-feed-grid > .plaza-question,
#bbsFeedGrid > .plaza-question,
.community-guide-feed > .plaza-question,
.bug-guide-feed > .plaza-question{
  display:grid!important;
  grid-template-columns:84px minmax(0,1fr)!important;
  width:auto!important;
  max-width:100%!important;
  margin:0!important;
  break-inside:auto!important;
  float:none!important;
  box-sizing:border-box!important;
}
.plaza-note-card.featured{
  grid-column:unset!important;
  column-span:unset!important;
  width:100%!important;
}
.community-feed-empty{
  grid-column:1 / -1!important;
  display:block!important;
  width:100%!important;
}
.community-guide-feed.plaza-question-feed,
.plaza-question-feed{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
}
/* detail shell: NO extra --gx ? parent .block.tight already pads; .block-inner caps width */
.bbs-detail-shell{
  display:flex!important;gap:0!important;
  max-width:none!important;margin:0!important;padding:0!important;
  align-items:flex-start!important;width:100%!important;box-sizing:border-box!important;
}
.bbs-detail-left{width:280px!important;flex-shrink:0!important;padding-right:28px!important;position:sticky!important;top:70px!important;padding-bottom:40px!important;border-right:1px solid var(--edge,rgba(0,0,0,.08))!important;box-sizing:border-box!important;}
.bbs-detail-main{flex:1!important;min-width:0!important;padding-left:28px!important;padding-bottom:60px!important;}
.bbs-left-character{width:150px!important;height:150px!important;overflow:hidden!important;}
@media (max-width:1180px){
  .plaza-shell,.plaza-shell,.block-inner.plaza-shell,.block-inner.plaza-shell{grid-template-columns:190px minmax(0,1fr)!important;}
}
@media (max-width:900px){
  .plaza-shell,.plaza-shell,.block-inner.plaza-shell,.block-inner.plaza-shell{grid-template-columns:1fr!important;}
  /* 列表页手机端隐藏左侧栏（详情页用 .bbs-detail-left，不受影响） */
  .plaza-left,.plaza-left{display:none!important;}
  .plaza-feed-grid:not(.is-waterfall),
  #bbsFeedGrid:not(.is-waterfall),
  .community-guide-feed:not(.is-waterfall):not(.plaza-question-feed){grid-template-columns:1fr!important;}
  .plaza-note-card.featured{grid-column:auto!important;}
  .bbs-detail-shell{flex-direction:column!important;}
  .bbs-detail-left{width:100%!important;position:static!important;border-right:0!important;padding-right:0!important;}
  .bbs-detail-main{padding-left:0!important;}
}

/* ??????????? ???? ? ????? ??????????? */
.plaza-app-section{padding-top:clamp(34px,4vw,56px)}
.plaza-shell{
  display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:start;
}
.plaza-left{
  position:sticky;top:92px;display:flex;flex-direction:column;gap:18px;min-width:0;
}
.plaza-main{min-width:0}
.plaza-profile-mini{
  border:1px solid #111;background:rgba(255,255,255,.02);padding:16px;
  display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;
}
.community-profile-character{
  width:120px;height:120px;border-radius:10px;flex-shrink:0;background:#FFFFFF;
}
.community-profile-character .avatar{
  width:100px;height:100px;border:1px solid var(--c-brand-edge, rgba(31,159,255,.28));background:var(--c-brand-soft, rgba(31,159,255,.08));
  color:var(--c-brand-3, #1f9fff);display:grid;place-items:center;font-family:var(--font-zh);font-size:36px;font-weight:700;
}
.character-empty-placeholder{
  width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:6px;background:var(--ink-2, #e8e8e8);color:var(--ink-3, #999);border-radius:10px;
}
.character-empty-icon{width:36px;height:36px;opacity:.45}
.character-empty-text{font-family:var(--font-zh);font-size:12px;opacity:.6}

.plaza-profile-mini em,.community-profile-info em{
  display:block;font-family:var(--font-code);font-size:10px;color:var(--t2);font-style:normal;letter-spacing:.06em;margin-top:4px;
}
.community-exp-block{
  width:100%;border-top:1px solid var(--edge);padding-top:12px;
}
.community-level-info{
  display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:8px;
}
.community-level-tag{
  font-family:var(--font-code);font-size:11px;color:var(--t0);font-weight:600;letter-spacing:.06em;
}
.bbs-lv-icon{
  display:inline-block;height:20px;width:auto;max-width:64px;
  object-fit:contain;vertical-align:middle;flex-shrink:0;
}
.bbs-lv-icon.community-level-tag,
.bbs-lv-icon.bbs-left-level{
  height:24px;max-width:76px;
}
.modal-user-level-row{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  flex-wrap:wrap !important;
  margin:0 0 10px !important;
  line-height:1 !important;
}
.modal-user-level-row .bbs-lv-icon,
.modal-user-level-row #modal-user-level{
  display:block !important;
  margin:0 !important;
  vertical-align:middle !important;
}
.modal-user-level-row .user-title-tag{
  margin:0 !important;
  align-self:center !important;
}
#modal-user-level.bbs-lv-icon{
  height:26px;max-width:84px;
}
.community-title-tag{
  font-family:var(--font-zh);font-size:10px;color:var(--c-link, #1f9fff);padding:2px 8px;
  border:1px solid var(--c-brand-edge, rgba(31,159,255,.28));background:var(--c-brand-soft, rgba(31,159,255,.08));
}
.community-profile-info strong.bbs-gm-author {
  color: var(--bbs-gm-color, #d4a017) !important;
  -webkit-text-fill-color: var(--bbs-gm-color, #d4a017);
  background: none;
  animation: none;
}
.community-exp-bar-container{
  height:6px;background:rgba(255,255,255,.04);border-radius:3px;overflow:hidden;margin-bottom:6px;
  border:1px solid var(--edge-2);
}
.community-exp-bar-fill{
  height:100%;background:linear-gradient(90deg, var(--c-link, #1f9fff), #ff8c42);
  border-radius:3px;transition:width .8s cubic-bezier(.4,0,.2,1);
}
.community-exp-bar-info{
  display:flex;justify-content:space-between;font-family:var(--font-code);font-size:10px;letter-spacing:.04em;
}
.community-exp-current{color:var(--c-link, #1f9fff);font-weight:600;}
.community-exp-next{color:var(--t2);}
.community-profile-metrics{
  display:flex;gap:6px;margin-top:12px;padding-top:12px;
  border-top:1px solid var(--edge);
}
.community-profile-metric{
  flex:1;min-width:0;text-align:center;padding:8px 4px;
  border:1px solid var(--edge-2);border-radius:8px;
  background:rgba(255,255,255,.02);
}
.community-profile-metric strong{
  display:block;font-family:var(--font-code);font-size:15px;color:var(--t0);font-weight:700;
  line-height:1.2;font-variant-numeric:tabular-nums;
}
.community-profile-metric span{
  display:block;margin-top:4px;font-family:var(--font-zh);font-size:11px;color:var(--t2);
  letter-spacing:.04em;
}
.plaza-side-block{
  border:1px solid #111;border-radius:8px;padding:14px 16px;background:#fff;
}
.plaza-side-block.community-side-quick{
  border:1px solid #111;border-radius:8px;padding:12px 14px;background:#fff;
}
.plaza-side-block h6{
  font-family:var(--font-code);font-size:11px;color:var(--t1);letter-spacing:.22em;text-transform:uppercase;margin-bottom:12px;
}
.plaza-side-block a{
  display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--edge);
  font-family:var(--font-zh);font-size:13px;color:var(--t1);
}
.plaza-side-block.community-side-quick .community-quick-btn{
  display:inline-flex;justify-content:center;align-items:center;
  gap:5px;padding:8px 10px;border:1px solid var(--edge-2);border-bottom:1px solid var(--edge-2);
  background:rgba(255,255,255,.02);white-space:nowrap;line-height:1;
  flex-direction:row;border-radius:8px;cursor:pointer;
  appearance:none;-webkit-appearance:none;font:inherit;
}
.plaza-side-block a.on{color:var(--c-brand-3, #1f9fff);border-bottom-color:var(--c-brand, #1f9fff)}
.community-random-link{display:flex!important;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--edge);font-family:var(--font-zh);font-size:13px;color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none}
.community-random-link:hover{color:var(--c-brand-3, #1f9fff)}

.plaza-side-block.community-side-quick .community-quick-label{
  font-family:var(--font-zh);font-size:12px;color:inherit;letter-spacing:normal;
}
.plaza-side-block.community-side-quick .community-quick-badge{
  font-family:var(--font-code);font-size:10px;color:#fff;letter-spacing:normal;
}
.plaza-tag-cloud{display:flex;flex-wrap:wrap;gap:7px}

.plaza-side-block.sync p{
  font-family:var(--font-zh);font-size:12.5px;color:var(--t2);line-height:1.7;margin-top:12px;
}

.community-stats-row{
  display:flex;gap:12px;
}
.community-stat{
  flex:1;text-align:center;padding:10px 0;
  border:1px solid var(--edge-2);background:rgba(255,255,255,.02);
}
.community-stat strong{
  display:block;font-family:var(--font-code);font-size:18px;color:var(--t0);font-weight:600;
}
.community-stat span{
  display:block;font-family:var(--font-code);font-size:10px;color:var(--t2);letter-spacing:.12em;margin-top:3px;
}
a.community-profile-metric-link,
button.community-profile-metric-link,
a.community-stat-link,
button.community-stat-link{
  text-decoration:none;color:inherit;transition:border-color .15s,background .15s;
  font:inherit;cursor:pointer;appearance:none;-webkit-appearance:none;
}
a.community-profile-metric-link:hover,
button.community-profile-metric-link:hover,
a.community-stat-link:hover,
button.community-stat-link:hover{
  border-color:var(--c-brand, #1f9fff);
  background:rgba(31,159,255,.06);
}
.community-points-rules-entry{
  margin-top:10px;text-align:center;
}
.community-points-rules-entry a,
.community-points-rules-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:100%;padding:9px 12px;
  font-size:12px;font-weight:600;color:#111;
  text-decoration:none;
  background:#fff;
  border:1px solid #111;border-radius:0;
  cursor:pointer;font-family:inherit;letter-spacing:.1em;
  transition:background .15s, color .15s;
}
.community-points-rules-entry a:hover,
.community-points-rules-btn:hover{
  background:#111;color:#fff;text-decoration:none;
}

/* ?? ?????????? / ?????????? */
.community-side-quick{padding-top:12px;overflow:visible}
.community-quick-row-spread{
  display:flex;flex-direction:row;flex-wrap:nowrap;
  justify-content:space-between;align-items:center;gap:8px;
}
.community-quick-btn{
  flex:1 1 0;min-width:0;max-width:calc(50% - 4px);box-sizing:border-box;
  display:inline-flex;flex-direction:row;align-items:center;justify-content:center;
  gap:5px;padding:8px 6px;
  border:1px solid var(--edge-2);border-radius:8px;
  background:rgba(255,255,255,.02);
  font-family:var(--font-zh);font-size:12px;color:var(--t1);
  text-decoration:none;position:relative;
  line-height:1;
  transition:color .25s,background .25s,border-color .25s,box-shadow .25s,transform .2s;
}
.community-quick-icon{
  display:grid;place-items:center;width:26px;height:26px;border-radius:50%;flex-shrink:0;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);
  transition:background .25s,border-color .25s,transform .2s;
}
.community-quick-btn-info .community-quick-icon{
  color:var(--c-link, #1f9fff);background:rgba(224,184,51,.08);border-color:rgba(224,184,51,.18);
}
.community-quick-btn-dm .community-quick-icon{
  color:var(--c-link, #1f9fff);background:rgba(224,184,51,.08);border-color:rgba(224,184,51,.18);
}
.community-quick-label{
  display:block;flex-shrink:0;line-height:1;
  font-family:var(--font-zh);font-size:12px;letter-spacing:.04em;
}
.community-quick-btn svg{
  display:block;flex-shrink:0;width:14px;height:14px;
  opacity:.9;transition:opacity .25s,transform .2s;
}
.community-quick-btn:hover{
  color:var(--t0);background:rgba(255,255,255,.05);border-color:var(--edge);
  transform:translateY(-1px);
}
.community-quick-btn:hover .community-quick-icon{transform:scale(1.05)}
.community-quick-btn-info:hover .community-quick-icon{
  background:rgba(224,184,51,.14);border-color:rgba(224,184,51,.35);
}
.community-quick-btn-dm:hover .community-quick-icon{
  background:rgba(224,184,51,.14);border-color:rgba(224,184,51,.38);
}
.community-quick-btn-dm.has-unread{
  color:var(--c-link, #1f9fff);border-color:rgba(224,184,51,.5);
  background:rgba(224,184,51,.1);
  animation:bbs-dm-breathe 2.2s ease-in-out infinite;
}
.community-quick-btn-dm.has-unread .community-quick-icon{
  background:rgba(224,184,51,.18);border-color:rgba(224,184,51,.45);
  box-shadow:0 0 12px rgba(224,184,51,.2);
}
.community-quick-badge{
  position:absolute;top:-4px;right:-3px;min-width:16px;height:16px;
  padding:0 4px;border-radius:999px;
  background:#e53935;
  color:#fff;font-family:var(--font-code);font-size:9px;line-height:16px;
  text-align:center;pointer-events:none;z-index:1;
  box-shadow:0 2px 8px rgba(229,57,53,.4);
}
@keyframes bbs-dm-breathe{
  0%,100%{box-shadow:0 0 0 0 rgba(224,184,51,.15)}
  50%{box-shadow:0 0 14px 3px rgba(224,184,51,.28)}
}
@media (max-width:760px){
  .community-quick-row-spread{gap:6px}
  .community-quick-btn{padding:7px 5px}
  .community-quick-icon{width:24px;height:24px}
  .community-quick-btn svg{width:13px;height:13px}
}

/* ?? ?????? ?? */
.bbs-dm-inbox-overlay{
  position:fixed;inset:0;z-index:10040;
  background:
    radial-gradient(ellipse 70% 45% at 50% 15%, rgba(155,58,43,.1), transparent 55%),
    rgba(5,4,3,.8);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  display:flex;align-items:center;justify-content:center;
  padding:20px;
  animation:bbs-dm-fade-in .26s ease;
}
.bbs-dm-inbox-panel{
  position:relative;
  width:100%;max-width:440px;max-height:86vh;
  background:linear-gradient(165deg, rgba(28,26,24,.99), rgba(12,11,10,.99));
  border:1px solid rgba(255,255,255,.09);
  border-radius:2px;
  box-shadow:0 24px 64px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.04);
  display:flex;flex-direction:column;overflow:hidden;
  animation:bbs-dm-slide-up .32s cubic-bezier(.16,1,.3,1);
}
.bbs-dm-inbox-panel::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:3px;z-index:2;
  background:linear-gradient(180deg, var(--c-link, #1f9fff), var(--c-brand-3, #1f9fff), transparent 80%);
  pointer-events:none;
}
.bbs-dm-inbox-header{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:18px 20px 16px 22px;
  border-bottom:1px solid rgba(255,255,255,.06);
  background:linear-gradient(180deg, rgba(255,255,255,.03), transparent);
}
.bbs-dm-inbox-kicker{
  display:block;font-family:var(--font-code);font-size:10px;letter-spacing:.22em;
  color:var(--c-link, #1f9fff);margin-bottom:6px;
}
.bbs-dm-inbox-title-wrap h3{
  margin:0;font-family:var(--font-zh);font-size:1.1rem;color:var(--t0);font-weight:600;
}
.bbs-dm-inbox-title-wrap p{
  margin:6px 0 0;font-family:var(--font-zh);font-size:12px;color:var(--t2);
}
.bbs-dm-inbox-close{
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.45);font-size:18px;line-height:1;
  width:32px;height:32px;border-radius:2px;cursor:pointer;flex-shrink:0;
  display:grid;place-items:center;transition:background .2s,color .2s,border-color .2s;
}
.bbs-dm-inbox-close:hover{
  color:#fff;background:rgba(155,58,43,.22);border-color:rgba(201,90,68,.45);
}
.bbs-dm-list-modal{
  flex:1;min-height:200px;max-height:calc(86vh - 88px);overflow-y:auto;
  border:none;background:transparent;
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent;
}
.bbs-dm-list-modal::-webkit-scrollbar{width:5px}
.bbs-dm-list-modal::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.12);border-radius:999px;
}
@keyframes bbs-dm-fade-in{
  from{opacity:0} to{opacity:1}
}
@keyframes bbs-dm-slide-up{
  from{opacity:0;transform:translateY(18px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

/* ?? ????? ?? */
.bbs-dm-page{padding-top:clamp(34px,4vw,56px);padding-bottom:clamp(40px,6vw,72px)}
.bbs-dm-page-inner{max-width:720px;margin:0 auto}
.bbs-dm-page-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:16px;
  margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--edge-2);
  position:relative;
}
.bbs-dm-page-head::before{
  content:'';position:absolute;left:0;bottom:-1px;width:64px;height:2px;
  background:linear-gradient(90deg,var(--c-link, #1f9fff),var(--c-brand-3, #1f9fff));
}
.bbs-dm-page-kicker{
  display:block;font-family:var(--font-code);font-size:10px;letter-spacing:.22em;
  color:var(--c-link, #1f9fff);margin-bottom:8px;
}
.bbs-dm-page-head h2{
  margin:0;font-family:var(--cn-serif,var(--font-zh));font-size:1.45rem;color:var(--t0);font-weight:600;
}
.bbs-dm-page-head p{
  margin:8px 0 0;font-family:var(--font-zh);font-size:13px;color:var(--t2);
}
.bbs-dm-page-back{
  font-family:var(--font-code);font-size:11px;color:var(--t2);letter-spacing:.08em;
  text-decoration:none;white-space:nowrap;padding:8px 12px;
  border:1px solid var(--edge-2);transition:color .2s,border-color .2s,background .2s;
}
.bbs-dm-page-back:hover{
  color:var(--t0);border-color:rgba(224,184,51,.4);background:rgba(224,184,51,.06);
}
.bbs-dm-page .bbs-dm-list{
  border:1px solid var(--edge-2);
  background:linear-gradient(180deg, rgba(255,255,255,.02), transparent);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.bbs-dm-list{
  display:flex;flex-direction:column;
  background:rgba(255,255,255,.015);
}
.bbs-dm-list-modal .bbs-dm-list-item{
  border-bottom:1px solid rgba(255,255,255,.05);
  padding:14px 18px 14px 20px;
  transition:background .2s,padding-left .2s;
}
.bbs-dm-list-modal .bbs-dm-list-item:hover{
  background:rgba(255,255,255,.04);padding-left:24px;
}
.bbs-dm-list-modal .bbs-dm-list-item.unread{
  background:linear-gradient(90deg, rgba(224,184,51,.1), transparent 70%);
  border-left:3px solid var(--c-link, #1f9fff);
}
.bbs-dm-list-item{
  display:flex;align-items:center;gap:14px;padding:14px 16px;
  border-bottom:1px solid var(--edge);cursor:pointer;text-decoration:none;color:inherit;
  transition:background .2s;
}
.bbs-dm-list-item:last-child{border-bottom:none}
.bbs-dm-list-item:hover{background:rgba(255,255,255,.03)}
.bbs-dm-list-item.unread{background:rgba(224,184,51,.06)}
.bbs-dm-list-av{
  width:46px;height:46px;border-radius:2px;flex-shrink:0;
  display:grid;place-items:center;overflow:hidden;
  background:linear-gradient(145deg, rgba(155,58,43,.35), rgba(224,184,51,.18));
  border:1px solid rgba(255,255,255,.1);
  font-family:var(--font-zh);font-size:16px;color:var(--t0);font-weight:600;
}
.bbs-dm-list-av img{width:100%;height:100%;object-fit:cover}
.bbs-dm-list-body{flex:1;min-width:0}
.bbs-dm-list-name{
  display:block;font-family:var(--font-zh);font-size:14px;color:var(--t0);font-weight:500;
}
.bbs-dm-list-modal .bbs-dm-list-name{color:var(--t0)}
.bbs-dm-list-preview{
  display:block;margin-top:5px;font-family:var(--font-zh);font-size:12px;color:var(--t2);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.bbs-dm-list-modal .bbs-dm-list-preview{color:rgba(255,255,255,.38)}
.bbs-dm-list-meta{text-align:right;flex-shrink:0;min-width:44px}
.bbs-dm-list-time{
  display:block;font-family:var(--font-code);font-size:10px;color:var(--t2);letter-spacing:.04em;
}
.bbs-dm-list-modal .bbs-dm-list-time{color:rgba(255,255,255,.28)}
.bbs-dm-list-badge{
  display:inline-block;margin-top:6px;min-width:20px;height:20px;padding:0 6px;
  border-radius:999px;background:linear-gradient(135deg,var(--c-brand-2, #1f9fff),var(--c-link, #1f9fff));
  color:#fff;font-family:var(--font-code);font-size:10px;line-height:20px;text-align:center;
  box-shadow:0 2px 8px rgba(155,58,43,.3);
}
.bbs-dm-list-empty,.bbs-dm-list-loading{
  padding:48px 24px;text-align:center;font-family:var(--font-zh);font-size:13px;color:var(--t2);
}
.bbs-dm-list-modal .bbs-dm-list-empty,
.bbs-dm-list-modal .bbs-dm-list-loading{
  color:rgba(255,255,255,.35);padding:56px 28px;
}
.bbs-dm-list-empty-icon{
  display:flex;align-items:center;justify-content:center;
  width:52px;height:52px;margin:0 auto 14px;
  border:1px solid rgba(224,184,51,.28);
  background:rgba(224,184,51,.06);
  color:var(--c-link, #1f9fff);font-size:22px;opacity:.9;
}
.bbs-dm-list-empty strong{
  display:block;font-size:14px;color:rgba(255,255,255,.6);margin-bottom:6px;font-weight:500;
}
.bbs-dm-list-empty p{
  margin:0;font-size:12px;color:rgba(255,255,255,.3);line-height:1.6;
}

/* ?? ?????? ?? */
.bbs-dm-overlay {
  position:fixed;inset:0;z-index:10050;
  background:
    radial-gradient(ellipse 65% 40% at 50% 10%, rgba(155,58,43,.12), transparent 55%),
    rgba(5,4,3,.82);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  display:flex;align-items:center;justify-content:center;
  padding:20px;
  animation:bbs-dm-fade-in .26s ease;
}
.bbs-dm-panel {
  position:relative;
  width:100%;max-width:440px;max-height:88vh;
  background:linear-gradient(165deg, rgba(28,26,24,.99), rgba(12,11,10,.99));
  border:1px solid rgba(255,255,255,.09);
  border-radius:2px;
  box-shadow:0 24px 64px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.04);
  display:flex;flex-direction:column;overflow:hidden;
  animation:bbs-dm-slide-up .32s cubic-bezier(.16,1,.3,1);
}
.bbs-dm-panel::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:3px;z-index:2;
  background:linear-gradient(180deg, var(--c-link, #1f9fff), var(--c-brand-3, #1f9fff), transparent 80%);
  pointer-events:none;
}
.bbs-dm-header {
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:16px 18px 14px 20px;border-bottom:1px solid rgba(255,255,255,.06);
  background:linear-gradient(180deg, rgba(255,255,255,.03), transparent);
}
.bbs-dm-header-main{min-width:0;flex:1}
.bbs-dm-header-kicker{
  display:block;font-family:var(--font-code);font-size:9px;letter-spacing:.2em;
  color:var(--c-link, #1f9fff);margin-bottom:4px;
}
.bbs-dm-header h4 {
  margin:0;font-size:1rem;color:var(--t0);font-family:var(--font-zh);font-weight:600;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.bbs-dm-header-sub{
  display:block;margin-top:4px;font-family:var(--font-code);font-size:10px;
  letter-spacing:.08em;color:var(--t2);
}
.bbs-dm-header-sub:empty{display:none}
.bbs-dm-close {
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.45);font-size:18px;line-height:1;
  width:32px;height:32px;border-radius:2px;cursor:pointer;flex-shrink:0;
  display:grid;place-items:center;transition:background .2s,color .2s,border-color .2s;
}
.bbs-dm-close:hover {
  color:#fff;background:rgba(155,58,43,.22);border-color:rgba(201,90,68,.45);
}
.bbs-dm-messages {
  flex:1;min-height:260px;max-height:54vh;overflow-y:auto;
  padding:18px 16px 14px 18px;display:flex;flex-direction:column;gap:14px;
  background:
    radial-gradient(ellipse 80% 50% at 50% 0%, rgba(224,184,51,.03), transparent 60%);
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent;
}
.bbs-dm-messages::-webkit-scrollbar{width:5px}
.bbs-dm-messages::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:999px}
.bbs-dm-empty {
  text-align:center;color:var(--t2);
  font-size:13px;padding:48px 20px;font-family:var(--font-zh);line-height:1.7;
}
.bbs-dm-empty::before{
  content:'\25C7';display:block;margin-bottom:10px;
  font-size:18px;color:var(--c-link, #1f9fff);opacity:.7;letter-spacing:0;
}
.bbs-dm-msg { display:flex;flex-direction:column;align-items:flex-start;max-width:82%; }
.bbs-dm-msg.mine { align-self:flex-end;align-items:flex-end; }
.bbs-dm-bubble {
  padding:11px 14px;border-radius:2px 10px 10px 10px;
  background:rgba(255,255,255,.05);color:var(--t0);
  font-size:13.5px;line-height:1.55;word-break:break-word;
  border:1px solid rgba(255,255,255,.07);
  box-shadow:0 2px 8px rgba(0,0,0,.12);
}
.bbs-dm-msg.mine .bbs-dm-bubble {
  border-radius:10px 2px 10px 10px;
  background:linear-gradient(145deg, rgba(155,58,43,.9), rgba(181,72,54,.82));
  border-color:rgba(201,90,68,.35);color:#fff;
  box-shadow:0 4px 14px rgba(155,58,43,.22);
}
.bbs-dm-time {
  font-size:10px;color:rgba(255,255,255,.28);margin-top:5px;font-family:var(--font-code);letter-spacing:.04em;
}
.bbs-dm-input-bar {
  display:flex;gap:10px;align-items:flex-end;
  padding:14px 14px 16px 18px;border-top:1px solid rgba(255,255,255,.06);
  background:rgba(0,0,0,.2);
}
.bbs-dm-input {
  flex:1;resize:none;min-height:46px;max-height:120px;
  padding:11px 12px;border-radius:2px;border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.035);color:var(--t0);
  font-family:var(--font-zh);font-size:13px;line-height:1.5;
  transition:border-color .2s,box-shadow .2s;
}
.bbs-dm-input:focus {
  outline:none;border-color:rgba(224,184,51,.45);
  box-shadow:0 0 0 3px rgba(224,184,51,.1);
}
.bbs-dm-input::placeholder{color:rgba(255,255,255,.28)}
.bbs-dm-send-btn {
  flex-shrink:0;padding:11px 18px;border:1px solid rgba(224,184,51,.35);border-radius:2px;
  background:linear-gradient(135deg, var(--c-brand-2, #1f9fff), #111827);
  color:#fff;font-size:12px;font-family:var(--font-code);letter-spacing:.1em;cursor:pointer;
  box-shadow:0 4px 14px rgba(155,58,43,.28);
  transition:opacity .2s,transform .2s,box-shadow .2s,filter .2s;
}
.bbs-dm-send-btn:hover:not(:disabled){
  transform:translateY(-1px);filter:brightness(1.06);
  box-shadow:0 6px 18px rgba(155,58,43,.35);
}
.bbs-dm-send-btn:disabled { opacity:.55;cursor:not-allowed; }
.bbs-dm-bubble .bbs-inline-bq { width:22px;height:22px;vertical-align:middle; }

@media (max-width: 760px){
  .bbs-dm-inbox-overlay,.bbs-dm-overlay{padding:0}
  .bbs-dm-inbox-panel,.bbs-dm-panel{
    max-width:100%;max-height:100vh;height:100%;border-radius:0;
  }
  .bbs-dm-messages{max-height:none;flex:1}
  .bbs-dm-page-head{flex-direction:column;align-items:flex-start}
}

/* ?? ???? ???? ????????????????????????? */
.community-side-pingdao{
  border:1px solid #111;border-radius:8px;padding:14px 16px;background:#fff;
}
.community-side-pingdao h6{
  font-family:var(--font-code);font-size:11px;color:var(--t1);letter-spacing:.22em;
  text-transform:uppercase;margin-bottom:12px;font-weight:400;
}
.community-side-pingdao .community-stats-row{
  display:flex;flex-direction:row;flex-wrap:wrap;gap:1px;
}
.community-side-pingdao .community-stats-row a{
  display:flex;align-items:center;justify-content:center;gap:8px;
  flex:1 1 auto;
  padding:10px 10px;
  font-family:var(--font-zh);font-size:13px;color:var(--t2);font-weight:400;
  border:1px solid transparent;position:relative;
  transition:color .25s,background .25s,border-color .25s;
}
.community-side-pingdao .community-stats-row a::before{
  content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:0;height:2px;background:var(--c-brand-3, #1f9fff);
  transition:width .25s cubic-bezier(.4,0,.2,1);
}
.community-side-pingdao .community-stats-row a:hover{
  color:var(--t0);background:rgba(30,45,70,.04);border-color:var(--edge);
}
.community-side-pingdao .community-stats-row a:hover::before{
  width:60%;
}
.community-side-pingdao .community-stats-row a.on,
.community-side-pingdao .community-stats-row a.active{
  color:var(--c-brand-3, #1f9fff);border-color:var(--c-brand-edge, rgba(31,159,255,.28));background:var(--c-brand-soft, rgba(31,159,255,.08));
}
.community-side-pingdao .community-stats-row a.on::before,
.community-side-pingdao .community-stats-row a.active::before{
  width:60%;
}
.community-side-pingdao .community-stats-row a .badge{
  margin-left:auto;font-family:var(--font-code);font-size:9px;color:var(--t2);
  letter-spacing:.08em;padding:3px 7px;border:1px solid var(--edge);
  transition:color .25s,border-color .25s;
}
.community-side-pingdao .community-stats-row a:hover .badge{
  color:var(--t1);border-color:var(--edge-2);
}
.community-side-pingdao .community-stats-row a.on .badge,
.community-side-pingdao .community-stats-row a.active .badge{
  color:var(--c-brand-3, #1f9fff);border-color:var(--c-brand-edge, rgba(31,159,255,.28));
}

/* ?????? */
.community-side-pingdao .community-stats-row a .ch-icon{
  width:18px;height:18px;flex-shrink:0;opacity:.45;
  transition:opacity .25s;
}
.community-side-pingdao .community-stats-row a:hover .ch-icon,
.community-side-pingdao .community-stats-row a.on .ch-icon,
.community-side-pingdao .community-stats-row a.active .ch-icon{
  opacity:1;
}

/* ?? ???????????? ????????????????? */
@media (max-width:760px){
  .community-side-pingdao .community-stats-row{
    flex-direction:row;flex-wrap:wrap;gap:6px;
  }
  .community-side-pingdao .community-stats-row a{
    flex:1 1 calc(50% - 3px);min-width:120px;
    justify-content:center;padding:9px 12px;font-size:12.5px;
  }
  .community-side-pingdao .community-stats-row a::before{
    display:none;
  }
}

.plaza-composer{
  border:1px solid var(--edge-2);background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015));
  padding:18px;display:flex;flex-direction:column;gap:12px;
}
.plaza-editor-head,.plaza-editor-bottom,.plaza-toolbar,.feed-actions,.feed-author,.plaza-note-kicker,.askq-top,.dossier-post-meta{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.plaza-editor-head span{
  display:block;font-family:var(--font-code);font-size:10px;color:var(--c-brand-3, #1f9fff);letter-spacing:.2em;text-transform:uppercase;margin-bottom:5px;
}
.plaza-editor-head strong{font-family:var(--font-zh);font-size:18px;color:var(--t0);font-weight:500}
.plaza-editor-head select{
  background:var(--s0);border:1px solid var(--edge-2);color:var(--t0);font-family:var(--font-zh);font-size:13px;padding:9px 12px;outline:none;
}
.plaza-editor-title,.plaza-composer textarea{
  width:100%;background:var(--s0);border:1px solid var(--edge);color:var(--t0);outline:none;
  font-family:var(--font-zh);font-size:14px;padding:12px 14px;
}
.plaza-composer textarea{min-height:96px;resize:vertical;line-height:1.7}
.plaza-editor-title:focus,.plaza-composer textarea:focus,.plaza-editor-head select:focus{border-color:var(--c-brand, #1f9fff)}
.plaza-editor-upload{
  width:150px;height:64px;border:1px dashed var(--edge-2);display:grid;place-items:center;cursor:pointer;overflow:hidden;background:rgba(255,255,255,.02);
}
.plaza-editor-upload input{display:none}
.plaza-editor-upload span{
  font-family:var(--font-code);font-size:10px;color:var(--t2);letter-spacing:.16em;text-transform:uppercase;
}
.plaza-editor-upload img{width:100%;height:100%;object-fit:cover;display:block}
.plaza-composer .btn::before{display:none}
.plaza-composer .btn.primary:hover{
  color:#fff;background:var(--c-brand-2, #1f9fff);border-color:var(--c-brand-3, #1f9fff);
}

.plaza-tabs{margin-top:0}
.plaza-toolbar{
  margin:18px 0 20px;align-items:flex-start;flex-wrap:wrap;
}
.plaza-search{
  flex:1 1 260px;border:1px solid var(--edge);background:rgba(255,255,255,.02);
  padding:11px 14px;font-family:var(--font-zh);font-size:13px;color:var(--t2);
}
.plaza-sort{display:flex;gap:6px;flex-wrap:wrap}
.plaza-sort span{
  border:1px solid var(--edge);padding:10px 12px;font-family:var(--font-code);font-size:10px;color:var(--t2);letter-spacing:.14em;text-transform:uppercase;
}
.plaza-sort span.on{color:var(--c-link, #1f9fff);border-color:var(--c-link, #1f9fff);background:rgba(224,184,51,.06)}

.plaza-feed-grid{
  display:block;width:100%;
}

.plaza-note-card.featured{width:100%}
.plaza-note-media{aspect-ratio:4/3;background:var(--s2);overflow:hidden;border-bottom:1px solid var(--edge)}
.plaza-note-card.featured .plaza-note-media{aspect-ratio:16/7}
.plaza-note-media img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.88) contrast(1.04)}
.plaza-note-body{padding:18px 18px 16px;display:flex;flex-direction:column;gap:12px;min-width:0;overflow:hidden}
.plaza-note-kicker,.askq-top,.dossier-post-meta{
  font-family:var(--font-code);font-size:10px;color:var(--t2);letter-spacing:.16em;text-transform:uppercase;
  overflow-wrap:break-word;word-break:break-word;
}
.plaza-note-kicker .note-tone{color:var(--c-link, #1f9fff)}
.plaza-note-kicker .note-tone--sticky,
.plaza-note-kicker .note-tone--essence{color:var(--c-link, #1f9fff)}
.gm-drop-badge{
  display:inline-block;margin-left:8px;padding:2px 8px;border:1px solid var(--gm-drop-badge-border, rgba(212,160,23,.55));
  border-radius:999px;color:var(--gm-drop-color, #d4a017);font-weight:700;font-size:10px;letter-spacing:.08em;
  text-transform:none;animation:none;
  background:var(--gm-drop-badge-bg, rgba(212,160,23,.08));
}
.plaza-note-card.has-gm-reply{
  border-color:var(--gm-drop-border, rgba(212,160,23,.42));
  box-shadow:0 0 0 1px var(--gm-drop-shadow, rgba(212,160,23,.12));
}
.plaza-note-card.has-gm-reply:hover{
  border-color:var(--gm-drop-border-hover, rgba(212,160,23,.62));
  box-shadow:0 4px 18px var(--gm-drop-shadow-hover, rgba(212,160,23,.12));
}
@keyframes gm-drop-glow{
  0%,100%{opacity:1;transform:translateY(0)}
  50%{opacity:.82;transform:translateY(-1px)}
}

.plaza-note-card h3{font-size:18px}
.plaza-note-card.featured h3{font-size:24px}
.note-has-image-icon{display:inline-block;vertical-align:middle;margin-left:6px;color:#111827;flex-shrink:0;line-height:1;position:relative;top:-1px;transition:color .2s}
.plaza-note-card:hover .note-has-image-icon{color:var(--c-link, #1f9fff)}

.feed-tags{display:flex;flex-wrap:wrap;gap:6px}
.feed-tags span{font-size:11px;padding:4px 8px;color:var(--t2)}
.feed-author{justify-content:flex-start}
.feed-author .avatar{width:32px;height:32px;font-size:13px;flex-shrink:0;border-radius:50%;overflow:hidden;display:grid;place-items:center;border:1px solid var(--edge-2);background:var(--s2);color:var(--t1)}
.feed-author .avatar img{width:100%;height:100%;object-fit:cover;display:block}
.feed-author strong{display:block;font-family:var(--font-zh);font-size:13px;color:var(--t0);font-weight:500;overflow-wrap:break-word;word-break:break-word}
.feed-author em{display:block;font-family:var(--font-code);font-size:10px;color:var(--t2);font-style:normal;margin-top:2px;letter-spacing:.06em;overflow-wrap:break-word;word-break:break-word}
.feed-actions{
  border-top:1px solid var(--edge);padding-top:12px;flex-wrap:wrap;justify-content:flex-start;
  font-family:var(--font-code);font-size:11px;color:var(--t2);letter-spacing:.06em;
}
.feed-actions span:first-child{color:var(--t1)}

.plaza-question-feed{display:flex;flex-direction:column;gap:12px}
.plaza-question{display:grid;grid-template-columns:108px minmax(0,1fr);gap:0}
.askq-vote{
  border-right:1px solid var(--edge);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:16px 10px;
  background:rgba(155,58,43,.05);
}
.askq-vote strong{font-family:var(--font-code);font-size:22px;color:var(--c-brand-3, #1f9fff);font-weight:600}
.askq-vote span{font-family:var(--font-zh);font-size:12px;color:var(--t2)}
.askq-main{padding:18px;display:flex;flex-direction:column;gap:11px;min-width:0;overflow:hidden}
.askq-shot{aspect-ratio:16/7;overflow:hidden;background:var(--s2);border:1px solid var(--edge)}
.askq-shot img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.85) contrast(1.05)}
.qcode{color:var(--t2)}
.qstate,.qseverity{
  border:1px solid currentColor;padding:3px 7px;font-family:var(--font-code);font-size:10px;letter-spacing:.14em;
}
.qstate.wai{color:var(--c-link, #1f9fff)}
.qstate.wf,.qstate.dup{color:var(--t2)}
.qstate.ack{color:var(--c-link, #1f9fff)}
.qseverity{color:var(--c-brand-3, #1f9fff)}
/* ?????????????? + !important ??????? */
.qpri{font-family:var(--font-code);font-size:10px;letter-spacing:.12em;color:var(--t1)}
/* P0: ?? - ?? */
.qpri[data-priority="P0"]{color:#e45050 !important}
/* P1: ? - ??? */
.qpri[data-priority="P1"]{color:#d97845 !important}
/* P2: ? - ??????? */
.qpri[data-priority="P2"]{color:#c4855e !important}
/* P3: ? - ?? */
.qpri[data-priority="P3"]{color:#8e8a82 !important}
.qpri-btn{cursor:pointer;font-family:var(--font-code);font-size:10px;color:var(--c-link, #1f9fff);letter-spacing:.12em;border:1px solid var(--c-link, #1f9fff);padding:2px 8px;display:inline-block;margin-left:6px}
.qpri-vote{cursor:pointer;font-family:var(--font-code);font-size:10px;color:var(--t1);letter-spacing:.12em;border:1px solid var(--t1);padding:2px 8px;display:inline-block;transition:all .2s;margin-left:auto}
.qpri-vote:hover{color:var(--c-link, #1f9fff);border-color:var(--c-link, #1f9fff)}
.qpri-vote.qpri-voted{color:var(--t3);border-color:var(--t3);cursor:default}
.qpri-vote.qpri-voted:hover{color:var(--t3);border-color:var(--t3)}
.askq-reply{
  border-left:2px solid var(--c-link, #1f9fff);background:rgba(197,131,45,.05);padding:10px 12px;
  font-family:var(--font-zh);font-size:12.5px;color:var(--t1);line-height:1.65;
  overflow-wrap:break-word;word-break:break-word;
}
.askq-reply span{
  display:block;font-family:var(--font-code);font-size:10px;color:var(--c-link, #1f9fff);letter-spacing:.16em;text-transform:uppercase;margin-bottom:4px;
}
.askq-reply p{margin:0}
.askq-reply-pending p{color:var(--t2)}

/* ??????????? BUG ???????? ??????????? */
.bug-severity-pills .bug-sev-pill:hover,
.bug-priority-pills .bug-pri-pill:hover{
  border-color:var(--edge-2);background:rgba(255,255,255,.02);
}
.bug-sev-pill input:checked + span:first-of-type{color:var(--c-brand-3, #1f9fff)}
.bug-pri-pill input:checked + span:first-of-type{color:var(--c-link, #1f9fff)}
.bug-sev-pill:has(input:checked){
  border-color:var(--c-brand-edge, rgba(31,159,255,.28));background:rgba(155,58,43,.08);
}
.bug-sev-pill:has(input:checked) span{color:var(--c-brand-3, #1f9fff)}
.bug-pri-pill:has(input:checked){
  border-color:var(--c-link, #1f9fff);background:rgba(197,131,45,.08);
}
.bug-pri-pill:has(input:checked) span{color:var(--c-link, #1f9fff)}

/* BUG ????????? */
#bug-title:focus,
#bug-steps:focus,
#bug-expected:focus,
#bug-notes:focus{
  border-color:var(--c-brand-edge, rgba(31,159,255,.28));
}
/* BUG ???????? */
#bugPostForm button[type="submit"]:hover{opacity:.88}

@media (max-width:640px){
  #bugPostModal{padding:12px}
  #bugPostModal > div{margin:20px auto}
  .bug-severity-pills,
  .bug-priority-pills{gap:6px}
  .bug-sev-pill,
  .bug-pri-pill{padding:7px 10px;font-size:9px}
  .bug-sev-pill span:last-child,
  .bug-pri-pill span:last-child{font-size:8px}
  #bugPostForm{padding:16px 14px}
}

/* ??????????? ??? ? ???????? ??????????? */

.dossier-empty{
  border:1px dashed var(--edge-2);background:rgba(255,255,255,.02);padding:28px;
  display:flex;flex-direction:column;align-items:flex-start;gap:12px;
}
.dossier-empty strong{font-family:var(--font-zh);font-size:18px;color:var(--t0);font-weight:500}
.dossier-empty p{font-family:var(--font-zh);font-size:13.5px;color:var(--t1);line-height:1.7;margin:0}

.dossier-post-fallback{font-family:var(--font-code);font-size:20px;color:var(--c-brand-3, #1f9fff)}
.dossier-post-meta{justify-content:flex-start;margin-bottom:7px}
.dossier-post-meta span:first-child{color:var(--c-link, #1f9fff)}

@media (max-width:1180px){
  .plaza-shell{grid-template-columns:190px minmax(0,1fr)}
}
@media (max-width:900px){

  .plaza-left{position:static}
  .plaza-feed-grid{grid-template-columns:1fr}
  .plaza-note-card.featured{grid-column:auto}
  .plaza-note-card.featured .plaza-note-media{aspect-ratio:4/3}
}
@media (max-width:640px){
  .plaza-editor-head,.plaza-editor-bottom,.plaza-toolbar{align-items:stretch;flex-direction:column}
  .plaza-editor-upload{width:100%}
  .plaza-question{grid-template-columns:1fr}
  .askq-vote{border-right:0;border-bottom:1px solid var(--edge);align-items:flex-start}
  .askq-top{align-items:flex-start;flex-wrap:wrap;justify-content:flex-start}

  .community-profile-character{width:64px;height:64px}
  .community-profile-character .avatar{width:56px;height:56px;font-size:20px}
  .character-empty-icon{width:24px;height:24px}
  .character-empty-text{font-size:10px}
  .community-side-channels,.community-side-tags{display:none}
}
/* ???????????????????????????????????????????????????????
   PAGE: bbs/detail.php ? ????? ? BBS????
   ??????????????????????????????????????????????????????? */
.bbs-detail-shell{
  display:flex;gap:0;max-width:none;margin:0;
  padding:0;align-items:flex-start;width:100%;
}
.bbs-detail-main{
  flex:1;min-width:0;padding-left:28px;
  padding-bottom:60px;
}
.bbs-detail-left{
  width:280px;flex-shrink:0;padding-right:28px;position:sticky;top:70px;padding-bottom:40px;
  border-right:1px solid var(--edge);
}

/* ?? ?? & ??? ?? */
.bbs-detail-topbar{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:18px 0;margin-bottom:20px;border-bottom:1px solid var(--edge);
}
.bbs-detail-back{
  font-family:var(--font-code);font-size:10px;color:var(--t2);
  letter-spacing:.16em;text-transform:uppercase;display:inline-flex;align-items:center;gap:6px;
  border:1px solid var(--edge-2);padding:9px 14px;transition:color .18s,border-color .18s;
}
.bbs-detail-back:hover{color:var(--c-link, #1f9fff);border-color:var(--c-link, #1f9fff)}
.bbs-detail-topbar .btn.primary{font-size:12px;padding:10px 20px}

/* ?? ???? ?? */
.bbs-detail-post{
  border:1px solid #111;background:linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.012));
  padding:0;margin-bottom:0;
}
.bbs-detail-header{
  padding:28px 28px 20px;border-bottom:1px solid var(--edge);
}
.bbs-detail-title{
  font-family:var(--font-zh);font-size:26px;font-weight:600;color:var(--t0);
  line-height:1.35;margin:0 0 16px;letter-spacing:.01em;
}
.bbs-detail-meta{
  display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;
  font-family:var(--font-code);font-size:10px;color:var(--t2);
  letter-spacing:.1em;text-transform:uppercase;
}
.bbs-detail-meta .author-link{
  display:inline-flex;align-items:center;gap:8px;font-family:var(--font-zh);
  font-size:13px;color:var(--t0);text-transform:none;font-weight:500;letter-spacing:0;
}
.bbs-detail-meta .author-link:hover{color:var(--c-brand-3, #1f9fff)}
.bbs-detail-meta .author-avatar{
  width:28px;height:28px;border:1px solid var(--c-brand-edge, rgba(31,159,255,.28));background:var(--c-brand-soft, rgba(31,159,255,.08));
  color:var(--c-brand-3, #1f9fff);display:grid;place-items:center;font-family:var(--font-zh);
  font-size:12px;font-weight:700;flex-shrink:0;border-radius:50%;overflow:hidden;
}
.bbs-detail-meta .author-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.bbs-detail-meta .sep{color:var(--t3);margin:0 2px}
.bbs-detail-meta .stat{color:var(--t1);display:inline-flex;align-items:center;gap:4px}
.bbs-detail-meta .stat svg{width:13px;height:13px;opacity:.5}

/* ?? ???? ?? */
.bbs-detail-content{
  padding:28px;
  font-family:var(--font-zh);font-size:15px;color:#1a2433;line-height:1.85;
}
/* ??????????????????????? Quill ??????style/class?????? */
.bbs-detail-content p{margin:0 0 1.2em}
.bbs-detail-content p:last-child{margin-bottom:0}
.bbs-detail-content img{
  max-width:100%;height:auto;border:1px solid var(--edge-2);
  display:block;margin:18px 0;
}
.bbs-detail-content blockquote{
  border-left:3px solid var(--c-brand, #1f9fff);background:var(--c-brand-soft, rgba(31,159,255,.08));
  padding:14px 18px;margin:18px 0;font-size:14px;color:#3a4a5f;
}
.bbs-detail-content pre,.bbs-detail-content code{
  background:var(--s2);border:1px solid var(--edge);
  font-family:var(--font-code);font-size:13px;padding:3px 6px;
}
.bbs-detail-content pre{padding:16px;overflow-x:auto;line-height:1.65}
.bbs-detail-content pre code{padding:0;border:none;background:none}
.bbs-detail-content h2,.bbs-detail-content h3,.bbs-detail-content h4{
  font-family:var(--font-zh);color:#1a2433;font-weight:600;margin:24px 0 12px;
}
.bbs-detail-content h2{font-size:20px}
.bbs-detail-content h3{font-size:17px}
.bbs-detail-content a{color:var(--c-brand-3, #1f9fff);text-decoration:underline;text-underline-offset:3px}
.bbs-detail-content ul,.bbs-detail-content ol{padding-left:22px;margin:12px 0}

/* ?? ????(?/??/??) ?? */
.bbs-detail-actions{
  display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:16px 28px;
  border-top:1px solid var(--edge);
  font-family:var(--font-zh);font-size:13px;color:var(--t2);letter-spacing:0;
}
.bbs-detail-actions .bbs-vote-group{
  display:inline-flex;align-items:center;gap:8px;flex-wrap:nowrap;
}
.bbs-detail-actions button,
.bbs-detail-actions .bbs-follow-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  border:1px solid rgba(0,0,0,.22);background:#fff;
  color:#333;font-family:var(--font-zh);font-size:13px;font-weight:600;
  padding:8px 14px;min-height:36px;border-radius:8px;cursor:pointer;
  transition:border-color .18s,color .18s,background .18s,transform .12s,box-shadow .18s;
  line-height:1;box-sizing:border-box;
}
.bbs-detail-actions button:hover,
.bbs-detail-actions .bbs-follow-btn:hover{
  color:#111;border-color:#111;background:#fafafa;
}
.bbs-detail-actions button svg{width:16px;height:16px;flex-shrink:0}
.bbs-detail-actions .spacer{flex:1;min-width:8px}

/* vote buttons */
.bbs-detail-actions .vote-btn{position:relative;user-select:none;}
.bbs-detail-actions .vote-btn .vote-count{
  font-style:normal;font-family:var(--font-code);font-size:12px;font-weight:600;
  min-width:6px;text-align:center;color:var(--t2);font-variant-numeric:tabular-nums;
}
.bbs-detail-actions .vote-btn .vote-label{font-family:var(--font-zh);font-size:13px;font-weight:600;}
.bbs-detail-actions .vote-btn:active{transform:scale(.96);}

.bbs-detail-actions .vote-btn[data-action="support"]:hover{
  color:#5a9b5a;border-color:rgba(90,155,90,.45);background:rgba(90,155,90,.06);
}
.bbs-detail-actions .vote-btn[data-action="support"].active{
  color:#5a9b5a !important;
  border-color:rgba(90,155,90,.55) !important;
  background:rgba(90,155,90,.1) !important;
}
.bbs-detail-actions .vote-btn[data-action="support"].active svg{opacity:.95;}
.bbs-detail-actions .vote-btn[data-action="support"].active .vote-count{color:#5a9b5a;}

.bbs-detail-actions .vote-btn[data-action="oppose"]:hover{
  color:#111;border-color:#111;background:rgba(0,0,0,.04);
}
.bbs-detail-actions .vote-btn[data-action="oppose"].active{
  color:#111 !important;
  border-color:#111 !important;
  background:rgba(0,0,0,.08) !important;
}
.bbs-detail-actions .vote-btn[data-action="oppose"].active svg{opacity:.95;}
.bbs-detail-actions .vote-btn[data-action="oppose"].active .vote-count{color:#111;}

/* follow button */
.bbs-detail-actions .bbs-follow-btn.is-follow{
  border-color:#111;color:#111;background:#fff;
}
.bbs-detail-actions .bbs-follow-btn.is-follow:hover{
  background:#111;color:#fff;border-color:#111;
}
.bbs-detail-actions .bbs-follow-btn.is-following{
  border-color:#111;color:#fff;background:#111;
}
.bbs-detail-actions .bbs-follow-btn.is-following:hover{
  background:#333;border-color:#333;color:#fff;
}
.bbs-detail-actions .bbs-follow-btn.is-back{
  border-color:#111;color:#111;background:#fff;
}

/* GM buttons keep ghost look but match radius */
.bbs-detail-actions .bbs-gm-post-btn{
  font-size:12px;font-weight:600;border-radius:8px;
}

@keyframes votePulse {
  0% { transform:scale(1); }
  35% { transform:scale(1.12); }
  100% { transform:scale(1); }
}
.bbs-detail-actions .vote-btn.pulse { animation:votePulse .38s ease; }
@media (prefers-reduced-motion:reduce){
  .bbs-detail-actions .vote-btn.pulse{animation:none;}
  .bbs-detail-actions .vote-btn:active{transform:none;}
}
@media (max-width:640px){
  .bbs-detail-actions{padding:14px 16px;gap:6px;flex-wrap:wrap;}
  .bbs-detail-actions .bbs-vote-group{order:1;flex-wrap:nowrap;gap:6px;flex-shrink:0;}
  .bbs-detail-actions .bbs-follow-btn{order:2;flex-shrink:0;white-space:nowrap;}
  .bbs-detail-actions .spacer{order:3;flex-basis:100%;height:0;min-width:0;}
  .bbs-detail-actions .bbs-pin-btn,
  .bbs-detail-actions .bbs-gm-post-btn{order:4;}
  .bbs-detail-actions button,
  .bbs-detail-actions .bbs-follow-btn{padding:8px 10px;font-size:12px;min-height:34px;white-space:nowrap;}
}

/* ?? ???????(Quill) ?? */
.bbs-detail-editor{
  margin-top:0;position:relative;z-index:1;background:var(--s1);
}
.bbs-detail-editor .ql-toolbar{
  border:1px solid var(--edge-2)!important;border-bottom:none!important;
  background:var(--s2);
}
.bbs-detail-editor .ql-container{
  border:1px solid var(--edge-2)!important;border-top:none!important;
  background:var(--s1);min-height:140px;font-family:var(--font-zh);font-size:14px;color:var(--t0);
}
.bbs-detail-editor .ql-editor{min-height:140px;line-height:1.75}
.bbs-detail-editor .ql-editor.ql-blank::before{color:var(--t2);font-style:normal}
.bbs-detail-editor-footer{
  display:flex;align-items:center;justify-content:flex-end;gap:12px;
  padding:14px 0 0;
}
.bbs-detail-editor-footer .btn.primary{font-size:12px;padding:11px 26px}

/* ?? ??? ?? */
.bbs-comments-section{
  margin-top:40px;
  border:1px solid #111;
  border-radius:8px;
  background:rgba(255,255,255,.02);
  padding:24px;
}
.bbs-comments-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid var(--edge);
}
.bbs-comments-head h3{
  font-family:var(--font-zh);font-size:20px;font-weight:600;color:var(--t0);
  display:flex;align-items:center;gap:10px;
}
.bbs-comments-head h3 .count{
  font-family:var(--font-code);font-size:12px;color:var(--t2);font-weight:400;letter-spacing:.08em;
}
.bbs-comments-sort{
  font-family:var(--font-code);font-size:10px;color:var(--t2);letter-spacing:.14em;text-transform:uppercase;
}

.bbs-comment-item{
  border-bottom:1px solid var(--edge);padding:20px 0;
  display:flex;gap:14px;align-items:flex-start;
}
.bbs-comment-item:last-child{border-bottom:none}
.bbs-comment-avatar{
  width:38px;height:38px;flex-shrink:0;
  border:1px solid var(--c-brand-edge, rgba(31,159,255,.28));background:var(--c-brand-soft, rgba(31,159,255,.08));
  color:var(--c-brand-3, #1f9fff);display:grid;place-items:center;
  font-family:var(--font-zh);font-size:14px;font-weight:700;border-radius:50%;overflow:hidden;
}
.bbs-comment-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.bbs-comment-body{flex:1;min-width:0}
.bbs-comment-top{
  display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin-bottom:8px;
}
.bbs-comment-author{
  font-family:var(--font-zh);font-size:13px;color:var(--t0);font-weight:500;
  cursor:pointer;transition:color .18s,opacity .18s;
}
.bbs-comment-author:hover{opacity:.8;color:var(--c-link, #1f9fff)}
.bbs-comment-author.vip-nickname:hover{opacity:1}
.bbs-comment-level{
  font-family:var(--font-code);font-size:10px;color:var(--t2);letter-spacing:.06em;
  border:1px solid var(--edge);padding:2px 6px;
}
.bbs-comment-floor{
  font-family:var(--font-code);font-size:10px;color:var(--t2);letter-spacing:.08em;margin-left:auto;
}
.bbs-comment-floor.hot{color:var(--c-brand-3, #1f9fff)}
.bbs-comment-time{
  font-family:var(--font-code);font-size:10px;color:var(--t2);letter-spacing:.06em;
}
.bbs-comment-text{
  font-family:var(--font-zh);font-size:14px;color:var(--t0);line-height:1.75;word-break:break-word;
}
/* ??????? */
.bbs-comment-image-wrap{
  margin-top:10px;
}
.bbs-comment-image-thumb{
  max-width:180px;max-height:140px;
  border-radius:6px;border:1px solid var(--edge);
  display:block;object-fit:cover;
  cursor:pointer;
  transition:opacity .18s,transform .18s;
}
.bbs-comment-image-thumb:hover{
  opacity:.82;transform:scale(1.02);
}
/* ?????????? biaoqing? */
.bbs-inline-bq{
  width:26px;height:26px;
  vertical-align:middle;
  display:inline-block;
  margin:0 1px;border-radius:3px;
  image-rendering:auto;
}
/* ?????????????? */
.bbs-comment-text img.bbs-inline-bq{
  vertical-align:text-bottom;
}
.bbs-comment-actions{
  display:flex;align-items:center;gap:16px;margin-top:10px;
  font-family:var(--font-code);font-size:10px;color:var(--t2);letter-spacing:.06em;
}
.bbs-comment-actions span{
  display:inline-flex;align-items:center;gap:4px;cursor:pointer;transition:color .18s;
}
.bbs-comment-actions span:hover{color:var(--c-link, #1f9fff)}
.bbs-comment-actions svg{width:13px;height:13px;opacity:.5}

/* ?? ??? ? ????? ?? */
.bbs-left-card{
  border:1px solid #111;background:rgba(255,255,255,.02);border-radius:8px;
  padding:22px;margin-bottom:16px;display:flex;flex-direction:column;align-items:center;gap:14px;
}
.bbs-left-avatar-link{display:block;text-decoration:none}
.bbs-left-avatar-link:hover{opacity:.85}
.bbs-left-character{
  width:150px;height:150px;border:1px solid var(--edge-2);background:#ffffff;
  overflow:hidden;position:relative;
}
.bbs-left-character img{width:100%;height:100%;object-fit:contain;display:block}
.bbs-left-avatar{
  width:100px;height:100px;border:1px solid var(--c-brand-edge, rgba(31,159,255,.28));background:var(--c-brand-soft, rgba(31,159,255,.08));
  color:var(--c-brand-3, #1f9fff);display:grid;place-items:center;
  font-family:var(--font-zh);font-size:36px;font-weight:700;border-radius:50%;overflow:hidden;
}
.bbs-left-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.bbs-left-name{
  font-family:var(--font-zh);font-size:16px;color:var(--t0);font-weight:500;text-align:center;
}
.bbs-left-uid{
  font-family:var(--font-code);font-size:10px;color:var(--t2);letter-spacing:.08em;
}
.bbs-left-level-row{
  display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;
}
.bbs-left-level{
  font-family:var(--font-code);font-size:11px;color:var(--t0);font-weight:600;letter-spacing:.06em;
}
.bbs-left-title{
  font-family:var(--font-zh);font-size:10px;color:var(--c-link, #1f9fff);padding:2px 8px;
  border:1px solid var(--c-brand-edge, rgba(31,159,255,.28));background:var(--c-brand-soft, rgba(31,159,255,.08));
}
.bbs-left-exp-bar{
  height:5px;background:rgba(255,255,255,.04);border-radius:3px;overflow:hidden;width:100%;
  border:1px solid var(--edge-2);
}
.bbs-left-exp-fill{
  height:100%;background:linear-gradient(90deg,var(--c-link, #1f9fff),#ff8c42);border-radius:3px;
  transition:width .6s cubic-bezier(.4,0,.2,1);
}
.bbs-left-exp-info{
  display:flex;justify-content:space-between;width:100%;
  font-family:var(--font-code);font-size:10px;letter-spacing:.04em;
}
.bbs-left-exp-current{color:var(--c-link, #1f9fff);font-weight:600}
.bbs-left-exp-next{color:var(--t2)}

.bbs-left-stats{
  display:flex;gap:0;width:100%;border-top:1px solid var(--edge);padding-top:14px;
}
.bbs-left-stat{
  flex:1;text-align:center;
}
.bbs-left-stat strong{
  display:block;font-family:var(--font-code);font-size:16px;color:var(--t0);font-weight:600;
}
.bbs-left-stat span{
  display:block;font-family:var(--font-code);font-size:10px;color:var(--t2);letter-spacing:.12em;margin-top:3px;
}

/* ????????? / ?? ? ?????????? */
.bbs-left-actions.community-quick-row,
.bbs-left-actions.plaza-quick-row{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
  width:100% !important;
  margin:4px 0 0 !important;
  overflow:visible !important;
  visibility:visible !important;
  opacity:1 !important;
}
.bbs-left-actions .community-quick-btn,
.bbs-left-actions .plaza-quick-btn{
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
  flex:1 1 0 !important;
  min-width:0 !important;
  max-width:calc(50% - 4px) !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
  padding:8px 6px !important;
  border:1px solid var(--edge-2, rgba(0,0,0,.14)) !important;
  border-radius:8px !important;
  background:#fff !important;
  color:var(--t0, #111) !important;
  font-family:var(--font-zh) !important;
  font-size:12px !important;
  line-height:1 !important;
  cursor:pointer !important;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.bbs-left-actions .community-quick-icon,
.bbs-left-actions .plaza-quick-icon{
  display:grid !important;
  place-items:center !important;
  width:26px !important;
  height:26px !important;
  border-radius:50% !important;
  flex-shrink:0 !important;
  background:rgba(31,159,255,.08) !important;
  border:1px solid rgba(31,159,255,.18) !important;
  color:var(--c-link, #1f9fff) !important;
}
.bbs-left-actions .community-quick-label,
.bbs-left-actions .plaza-quick-label{
  display:block !important;
  flex-shrink:0 !important;
  color:inherit !important;
  font-size:12px !important;
}
.bbs-left-actions .community-quick-btn:hover,
.bbs-left-actions .plaza-quick-btn:hover{
  border-color:var(--edge-3, rgba(0,0,0,.26)) !important;
  background:#f7f7f8 !important;
  transform:translateY(-1px);
}
@media (max-width:1000px){
  .bbs-left-actions{
    flex:1 1 100% !important;
    width:100% !important;
    order:20 !important;
    margin-top:8px !important;
  }
  .bbs-detail-left{margin-bottom:16px !important;}
}

/* ??? toast / ?????????? */
.bbs-friend-toast{
  position:fixed;left:50%;bottom:36px;z-index:10080;transform:translate(-50%,16px);
  max-width:min(420px,calc(100vw - 32px));padding:12px 18px;
  border:1px solid rgba(0,0,0,.1);border-left:3px solid #1f9fff;border-radius:10px;
  background:#fff;color:#111;
  font-family:var(--font-zh);font-size:13.5px;letter-spacing:.03em;line-height:1.55;
  box-shadow:0 12px 36px rgba(0,0,0,.12);
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,transform .22s ease,visibility .22s;
}
.bbs-friend-toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}
.bbs-friend-toast.is-ok{border-left-color:#16a34a;color:#166534;background:#f0fdf4}
.bbs-friend-toast.is-err{border-left-color:#d66;color:#a33;background:#fff5f5}
.bbs-friend-toast.is-muted{border-left-color:#999;color:#555}

.bbs-friend-dialog-overlay{
  position:fixed;inset:0;z-index:10070;display:none;align-items:center;justify-content:center;
  padding:20px;background:rgba(0,0,0,.42);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}
.bbs-friend-dialog-overlay.is-open{display:flex !important;}
body.bbs-friend-dialog-open{overflow:hidden}
.bbs-friend-dialog{
  width:min(380px,100%);padding:22px 22px 18px;border-radius:14px;
  border:1px solid rgba(0,0,0,.1);background:#fff;
  box-shadow:0 22px 56px rgba(0,0,0,.18);color:#111;
  transform:translateY(8px);opacity:.98;
  transition:transform .18s ease,opacity .18s ease;
}
.bbs-friend-dialog-overlay.is-open .bbs-friend-dialog{transform:translateY(0);opacity:1}
.bbs-friend-dialog-kicker{
  font-family:var(--font-code);font-size:10px;letter-spacing:.18em;color:#1f9fff;margin-bottom:8px;
}
.bbs-friend-dialog-title{
  font-family:var(--font-zh);font-size:17px;font-weight:700;letter-spacing:.04em;margin-bottom:10px;color:#111;
}
.bbs-friend-dialog-body{
  font-family:var(--font-zh);font-size:13.5px;line-height:1.7;color:#555;margin-bottom:18px;
  white-space:pre-wrap;word-break:break-word;
}
.bbs-friend-dialog-actions{display:flex;gap:10px;justify-content:flex-end}
.bbs-friend-dialog-btn{
  min-width:84px;padding:9px 14px;border:1px solid rgba(0,0,0,.12);border-radius:10px;background:#f7f7f7;
  color:#444;font-family:var(--font-zh);font-size:13px;cursor:pointer;
  transition:border-color .18s,color .18s,background .18s;
}
.bbs-friend-dialog-btn:hover{color:#111;border-color:#111;background:#fff}
.bbs-friend-dialog-btn.ok{
  color:#fff;border-color:#111;background:#111;
}
.bbs-friend-dialog-btn.ok:hover{background:#333;border-color:#333}
.bbs-friend-dialog-btn.ok.is-danger{
  border-color:#a84832;background:linear-gradient(135deg,#dc2626,#a84832);
}
.bbs-friend-dialog-btn.cancel{color:#888;background:transparent}
@media(max-width:560px){
  .bbs-friend-toast{left:16px;right:16px;transform:translateY(16px);max-width:none}
  .bbs-friend-toast.show{transform:translateY(0)}
}

/* ?? ??? ? ???? ?? */
.bbs-left-card-title{
  font-family:var(--font-code);font-size:10px;color:var(--t2);
  letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px;
}

/* ?? ??? ? ???? ?? */
.bbs-left-post-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
.bbs-left-post-list li{
  padding:8px 0;border-bottom:1px solid var(--edge);
  font-family:var(--font-zh);font-size:12px;color:var(--t1);line-height:1.5;
}
.bbs-left-post-list li:last-child{border-bottom:none}
.bbs-left-post-list a{color:inherit}
.bbs-left-post-list a:hover{color:var(--t0)}

/* ?? ??????? ?? */
.bbs-login-prompt{
  border:1px solid var(--edge-2);background:rgba(255,255,255,.015);
  padding:40px 20px;text-align:center;
}
.bbs-login-prompt p{
  font-family:var(--font-zh);font-size:14px;color:var(--t2);margin-bottom:16px;
}
.bbs-login-prompt a.btn{
  display:inline-block;font-family:var(--font-code);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  padding:10px 28px;border:1px solid var(--c-brand-edge, rgba(31,159,255,.28));color:var(--c-brand-3, #1f9fff);
  transition:background .18s;
}
.bbs-login-prompt a.btn:hover{background:var(--c-brand-soft, rgba(31,159,255,.08))}

/* ?? ????? ?? */
.bbs-detail-empty{
  text-align:center;padding:80px 20px;
  border:1px solid var(--edge-2);background:rgba(255,255,255,.015);
}
.bbs-detail-empty .icon{font-size:48px;margin-bottom:16px;color:var(--t3)}
.bbs-detail-empty h2{
  font-family:var(--font-zh);font-size:20px;color:var(--t0);font-weight:500;margin-bottom:12px;
}
.bbs-detail-empty a{
  font-family:var(--font-code);font-size:11px;color:var(--c-link, #1f9fff);letter-spacing:.12em;text-transform:uppercase;
}

/* ?? ?? ?? */
@media (max-width:1000px){
  .bbs-detail-shell{flex-direction:column}
  .bbs-detail-main{padding-left:0}
  .bbs-detail-left{width:100%;padding-right:0;border-right:none;position:static;order:-1;margin-bottom:-50px}
  .bbs-left-character,.bbs-left-avatar{width:64px;height:64px;font-size:22px}
  .bbs-left-card{flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px;padding:14px}
  .bbs-left-stats{flex:1;min-width:0;border-top:none;padding-top:0}
  .bbs-left-actions{width:auto}
  .bbs-left-card-posts{display:none}
}
@media (max-width:640px){
  .bbs-detail-header{padding:18px}
  .bbs-detail-title{font-size:20px}
  .bbs-detail-content{padding:18px;font-size:14px}
  .bbs-comments-section{padding:16px}
  .bbs-comment-item{gap:10px}
  .bbs-comment-avatar{width:32px;height:32px;font-size:12px}
  .character-preview-2d{width:64px !important;height:64px !important}
  .bbs-detail-actions{padding:14px 16px;gap:6px;flex-wrap:wrap}
  .bbs-detail-actions .bbs-vote-group{order:1;flex-wrap:nowrap;gap:6px;flex-shrink:0}
  .bbs-detail-actions .bbs-follow-btn{order:2;flex-shrink:0;white-space:nowrap}
  .bbs-detail-actions .spacer{order:3;flex-basis:100%;height:0;min-width:0}
  .bbs-detail-actions .bbs-pin-btn,
  .bbs-detail-actions .bbs-gm-post-btn{order:4}
  .bbs-detail-actions button,
  .bbs-detail-actions .bbs-follow-btn{padding:8px 10px;font-size:12px;min-height:34px;white-space:nowrap}
  .bbs-detail-actions button svg{width:16px;height:16px}
  .bbs-detail-actions .vote-btn .vote-count{font-size:12px}
  .bbs-detail-actions .vote-btn .vote-label{font-size:12px}
}

/* plaza-* aliases */
/* ??????????? ???? ? ????? ??????????? */
.plaza-app-section{padding-top:clamp(34px,4vw,56px)}
.plaza-shell{
  display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:start;
}
.plaza-left{
  position:sticky;top:92px;display:flex;flex-direction:column;gap:18px;min-width:0;
}
.plaza-main{min-width:0}
.plaza-profile-mini{
  border:1px solid #111;background:rgba(255,255,255,.02);padding:16px;
  display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;
}
.plaza-profile-character{
  width:120px;height:120px;border-radius:10px;flex-shrink:0;background:#FFFFFF;
}
.plaza-profile-character .avatar{
  width:100px;height:100px;border:1px solid var(--c-brand-edge, rgba(31,159,255,.28));background:var(--c-brand-soft, rgba(31,159,255,.08));
  color:var(--c-brand-3, #1f9fff);display:grid;place-items:center;font-family:var(--font-zh);font-size:36px;font-weight:700;
}
.character-empty-placeholder{
  width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:6px;background:var(--ink-2, #e8e8e8);color:var(--ink-3, #999);border-radius:10px;
}
.character-empty-icon{width:36px;height:36px;opacity:.45}
.character-empty-text{font-family:var(--font-zh);font-size:12px;opacity:.6}

.plaza-profile-mini em,.plaza-profile-info em{
  display:block;font-family:var(--font-code);font-size:10px;color:var(--t2);font-style:normal;letter-spacing:.06em;margin-top:4px;
}
.plaza-exp-block{
  width:100%;border-top:1px solid var(--edge);padding-top:12px;
}
.plaza-level-info{
  display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:8px;
}
.plaza-level-tag{
  font-family:var(--font-code);font-size:11px;color:var(--t0);font-weight:600;letter-spacing:.06em;
}
.plaza-title-tag{
  font-family:var(--font-zh);font-size:10px;color:var(--c-link, #1f9fff);padding:2px 8px;
  border:1px solid var(--c-brand-edge, rgba(31,159,255,.28));background:var(--c-brand-soft, rgba(31,159,255,.08));
}
.plaza-exp-bar-container{
  height:6px;background:rgba(255,255,255,.04);border-radius:3px;overflow:hidden;margin-bottom:6px;
  border:1px solid var(--edge-2);
}
.plaza-exp-bar-fill{
  height:100%;background:linear-gradient(90deg, var(--c-link, #1f9fff), #ff8c42);
  border-radius:3px;transition:width .8s cubic-bezier(.4,0,.2,1);
}
.plaza-exp-bar-info{
  display:flex;justify-content:space-between;font-family:var(--font-code);font-size:10px;letter-spacing:.04em;
}
.plaza-exp-current{color:var(--c-link, #1f9fff);font-weight:600;}
.plaza-exp-next{color:var(--t2);}
.plaza-side-block{
  border-top:1px solid var(--edge-2);padding-top:14px;
}
.plaza-side-block h6{
  font-family:var(--font-code);font-size:11px;color:var(--t1);letter-spacing:.22em;text-transform:uppercase;margin-bottom:12px;
}
.plaza-side-block a{
  display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--edge);
  font-family:var(--font-zh);font-size:13px;color:var(--t1);
}
.plaza-side-block.plaza-side-quick .plaza-quick-btn{
  display:inline-flex;justify-content:center;align-items:center;
  gap:5px;padding:8px 10px;border:1px solid var(--edge-2);border-bottom:1px solid var(--edge-2);
  background:rgba(255,255,255,.02);white-space:nowrap;line-height:1;
  flex-direction:row;border-radius:8px;cursor:pointer;
  appearance:none;-webkit-appearance:none;font:inherit;
}
.plaza-side-block a.on{color:var(--c-brand-3, #1f9fff);border-bottom-color:var(--c-brand, #1f9fff)}
.plaza-random-link{display:flex!important;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--edge);font-family:var(--font-zh);font-size:13px;color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none}
.plaza-random-link:hover{color:var(--c-brand-3, #1f9fff)}

.plaza-side-block.plaza-side-quick .plaza-quick-label{
  font-family:var(--font-zh);font-size:12px;color:inherit;letter-spacing:normal;
}
.plaza-side-block.plaza-side-quick .plaza-quick-badge{
  font-family:var(--font-code);font-size:10px;color:#fff;letter-spacing:normal;
}
.plaza-tag-cloud{display:flex;flex-wrap:wrap;gap:7px}

.plaza-side-block.sync p{
  font-family:var(--font-zh);font-size:12.5px;color:var(--t2);line-height:1.7;margin-top:12px;
}

.plaza-stats-row{
  display:flex;gap:12px;
}
.plaza-stat{
  flex:1;text-align:center;padding:10px 0;
  border:1px solid var(--edge-2);background:rgba(255,255,255,.02);
}
.plaza-stat strong{
  display:block;font-family:var(--font-code);font-size:18px;color:var(--t0);font-weight:600;
}
.plaza-stat span{
  display:block;font-family:var(--font-code);font-size:10px;color:var(--t2);letter-spacing:.12em;margin-top:3px;
}

/* ?? ?????????? / ?????????? */
.plaza-side-quick{padding-top:12px;overflow:visible}
.plaza-quick-row-spread{
  display:flex;flex-direction:row;flex-wrap:nowrap;
  justify-content:space-between;align-items:center;gap:8px;
}
.plaza-quick-btn{
  flex:1 1 0;min-width:0;max-width:calc(50% - 4px);box-sizing:border-box;
  display:inline-flex;flex-direction:row;align-items:center;justify-content:center;
  gap:5px;padding:8px 6px;
  border:1px solid var(--edge-2);border-radius:8px;
  background:rgba(255,255,255,.02);
  font-family:var(--font-zh);font-size:12px;color:var(--t1);
  text-decoration:none;position:relative;
  line-height:1;
  transition:color .25s,background .25s,border-color .25s,box-shadow .25s,transform .2s;
}
.plaza-quick-icon{
  display:grid;place-items:center;width:26px;height:26px;border-radius:50%;flex-shrink:0;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);
  transition:background .25s,border-color .25s,transform .2s;
}
.plaza-quick-btn-info .plaza-quick-icon{
  color:var(--c-link, #1f9fff);background:rgba(224,184,51,.08);border-color:rgba(224,184,51,.18);
}
.plaza-quick-btn-dm .plaza-quick-icon{
  color:var(--c-link, #1f9fff);background:rgba(224,184,51,.08);border-color:rgba(224,184,51,.18);
}
.plaza-quick-label{
  display:block;flex-shrink:0;line-height:1;
  font-family:var(--font-zh);font-size:12px;letter-spacing:.04em;
}
.plaza-quick-btn svg{
  display:block;flex-shrink:0;width:14px;height:14px;
  opacity:.9;transition:opacity .25s,transform .2s;
}
.plaza-quick-btn:hover{
  color:var(--t0);background:rgba(255,255,255,.05);border-color:var(--edge);
  transform:translateY(-1px);
}
.plaza-quick-btn:hover .plaza-quick-icon{transform:scale(1.05)}
.plaza-quick-btn-info:hover .plaza-quick-icon{
  background:rgba(224,184,51,.14);border-color:rgba(224,184,51,.35);
}
.plaza-quick-btn-dm:hover .plaza-quick-icon{
  background:rgba(224,184,51,.14);border-color:rgba(224,184,51,.38);
}
.plaza-quick-btn-dm.has-unread{
  color:var(--c-link, #1f9fff);border-color:rgba(224,184,51,.5);
  background:rgba(224,184,51,.1);
  animation:bbs-dm-breathe 2.2s ease-in-out infinite;
}
.plaza-quick-btn-dm.has-unread .plaza-quick-icon{
  background:rgba(224,184,51,.18);border-color:rgba(224,184,51,.45);
  box-shadow:0 0 12px rgba(224,184,51,.2);
}
.plaza-quick-badge{
  position:absolute;top:-4px;right:-3px;min-width:16px;height:16px;
  padding:0 4px;border-radius:999px;
  background:linear-gradient(135deg,var(--c-brand-2, #1f9fff),var(--c-link, #1f9fff));
  color:#fff;font-family:var(--font-code);font-size:9px;line-height:16px;
  text-align:center;pointer-events:none;z-index:1;
  box-shadow:0 2px 8px rgba(155,58,43,.35);
}
@keyframes bbs-dm-breathe{
  0%,100%{box-shadow:0 0 0 0 rgba(224,184,51,.15)}
  50%{box-shadow:0 0 14px 3px rgba(224,184,51,.28)}
}
@media (max-width:760px){
  .plaza-quick-row-spread{gap:6px}
  .plaza-quick-btn{padding:7px 5px}
  .plaza-quick-icon{width:24px;height:24px}
  .plaza-quick-btn svg{width:13px;height:13px}
}

/* ?? ?????? ?? */
.bbs-dm-inbox-overlay{
  position:fixed;inset:0;z-index:10040;
  background:
    radial-gradient(ellipse 70% 45% at 50% 15%, rgba(155,58,43,.1), transparent 55%),
    rgba(5,4,3,.8);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  display:flex;align-items:center;justify-content:center;
  padding:20px;
  animation:bbs-dm-fade-in .26s ease;
}
.bbs-dm-inbox-panel{
  position:relative;
  width:100%;max-width:440px;max-height:86vh;
  background:linear-gradient(165deg, rgba(28,26,24,.99), rgba(12,11,10,.99));
  border:1px solid rgba(255,255,255,.09);
  border-radius:2px;
  box-shadow:0 24px 64px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.04);
  display:flex;flex-direction:column;overflow:hidden;
  animation:bbs-dm-slide-up .32s cubic-bezier(.16,1,.3,1);
}
.bbs-dm-inbox-panel::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:3px;z-index:2;
  background:linear-gradient(180deg, var(--c-link, #1f9fff), var(--c-brand-3, #1f9fff), transparent 80%);
  pointer-events:none;
}
.bbs-dm-inbox-header{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:18px 20px 16px 22px;
  border-bottom:1px solid rgba(255,255,255,.06);
  background:linear-gradient(180deg, rgba(255,255,255,.03), transparent);
}
.bbs-dm-inbox-kicker{
  display:block;font-family:var(--font-code);font-size:10px;letter-spacing:.22em;
  color:var(--c-link, #1f9fff);margin-bottom:6px;
}
.bbs-dm-inbox-title-wrap h3{
  margin:0;font-family:var(--font-zh);font-size:1.1rem;color:var(--t0);font-weight:600;
}
.bbs-dm-inbox-title-wrap p{
  margin:6px 0 0;font-family:var(--font-zh);font-size:12px;color:var(--t2);
}
.bbs-dm-inbox-close{
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.45);font-size:18px;line-height:1;
  width:32px;height:32px;border-radius:2px;cursor:pointer;flex-shrink:0;
  display:grid;place-items:center;transition:background .2s,color .2s,border-color .2s;
}
.bbs-dm-inbox-close:hover{
  color:#fff;background:rgba(155,58,43,.22);border-color:rgba(201,90,68,.45);
}
.bbs-dm-list-modal{
  flex:1;min-height:200px;max-height:calc(86vh - 88px);overflow-y:auto;
  border:none;background:transparent;
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent;
}
.bbs-dm-list-modal::-webkit-scrollbar{width:5px}
.bbs-dm-list-modal::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.12);border-radius:999px;
}
@keyframes bbs-dm-fade-in{
  from{opacity:0} to{opacity:1}
}
@keyframes bbs-dm-slide-up{
  from{opacity:0;transform:translateY(18px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

/* ?? ????? ?? */
.bbs-dm-page{padding-top:clamp(34px,4vw,56px);padding-bottom:clamp(40px,6vw,72px)}
.bbs-dm-page-inner{max-width:720px;margin:0 auto}
.bbs-dm-page-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:16px;
  margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--edge-2);
  position:relative;
}
.bbs-dm-page-head::before{
  content:'';position:absolute;left:0;bottom:-1px;width:64px;height:2px;
  background:linear-gradient(90deg,var(--c-link, #1f9fff),var(--c-brand-3, #1f9fff));
}
.bbs-dm-page-kicker{
  display:block;font-family:var(--font-code);font-size:10px;letter-spacing:.22em;
  color:var(--c-link, #1f9fff);margin-bottom:8px;
}
.bbs-dm-page-head h2{
  margin:0;font-family:var(--cn-serif,var(--font-zh));font-size:1.45rem;color:var(--t0);font-weight:600;
}
.bbs-dm-page-head p{
  margin:8px 0 0;font-family:var(--font-zh);font-size:13px;color:var(--t2);
}
.bbs-dm-page-back{
  font-family:var(--font-code);font-size:11px;color:var(--t2);letter-spacing:.08em;
  text-decoration:none;white-space:nowrap;padding:8px 12px;
  border:1px solid var(--edge-2);transition:color .2s,border-color .2s,background .2s;
}
.bbs-dm-page-back:hover{
  color:var(--t0);border-color:rgba(224,184,51,.4);background:rgba(224,184,51,.06);
}
.bbs-dm-page .bbs-dm-list{
  border:1px solid var(--edge-2);
  background:linear-gradient(180deg, rgba(255,255,255,.02), transparent);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.bbs-dm-list{
  display:flex;flex-direction:column;
  background:rgba(255,255,255,.015);
}
.bbs-dm-list-modal .bbs-dm-list-item{
  border-bottom:1px solid rgba(255,255,255,.05);
  padding:14px 18px 14px 20px;
  transition:background .2s,padding-left .2s;
}
.bbs-dm-list-modal .bbs-dm-list-item:hover{
  background:rgba(255,255,255,.04);padding-left:24px;
}
.bbs-dm-list-modal .bbs-dm-list-item.unread{
  background:linear-gradient(90deg, rgba(224,184,51,.1), transparent 70%);
  border-left:3px solid var(--c-link, #1f9fff);
}
.bbs-dm-list-item{
  display:flex;align-items:center;gap:14px;padding:14px 16px;
  border-bottom:1px solid var(--edge);cursor:pointer;text-decoration:none;color:inherit;
  transition:background .2s;
}
.bbs-dm-list-item:last-child{border-bottom:none}
.bbs-dm-list-item:hover{background:rgba(255,255,255,.03)}
.bbs-dm-list-item.unread{background:rgba(224,184,51,.06)}
.bbs-dm-list-av{
  width:46px;height:46px;border-radius:2px;flex-shrink:0;
  display:grid;place-items:center;overflow:hidden;
  background:linear-gradient(145deg, rgba(155,58,43,.35), rgba(224,184,51,.18));
  border:1px solid rgba(255,255,255,.1);
  font-family:var(--font-zh);font-size:16px;color:var(--t0);font-weight:600;
}
.bbs-dm-list-av img{width:100%;height:100%;object-fit:cover}
.bbs-dm-list-body{flex:1;min-width:0}
.bbs-dm-list-name{
  display:block;font-family:var(--font-zh);font-size:14px;color:var(--t0);font-weight:500;
}
.bbs-dm-list-modal .bbs-dm-list-name{color:var(--t0)}
.bbs-dm-list-preview{
  display:block;margin-top:5px;font-family:var(--font-zh);font-size:12px;color:var(--t2);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.bbs-dm-list-modal .bbs-dm-list-preview{color:rgba(255,255,255,.38)}
.bbs-dm-list-meta{text-align:right;flex-shrink:0;min-width:44px}
.bbs-dm-list-time{
  display:block;font-family:var(--font-code);font-size:10px;color:var(--t2);letter-spacing:.04em;
}
.bbs-dm-list-modal .bbs-dm-list-time{color:rgba(255,255,255,.28)}
.bbs-dm-list-badge{
  display:inline-block;margin-top:6px;min-width:20px;height:20px;padding:0 6px;
  border-radius:999px;background:linear-gradient(135deg,var(--c-brand-2, #1f9fff),var(--c-link, #1f9fff));
  color:#fff;font-family:var(--font-code);font-size:10px;line-height:20px;text-align:center;
  box-shadow:0 2px 8px rgba(155,58,43,.3);
}
.bbs-dm-list-empty,.bbs-dm-list-loading{
  padding:48px 24px;text-align:center;font-family:var(--font-zh);font-size:13px;color:var(--t2);
}
.bbs-dm-list-modal .bbs-dm-list-empty,
.bbs-dm-list-modal .bbs-dm-list-loading{
  color:rgba(255,255,255,.35);padding:56px 28px;
}
.bbs-dm-list-empty-icon{
  display:flex;align-items:center;justify-content:center;
  width:52px;height:52px;margin:0 auto 14px;
  border:1px solid rgba(224,184,51,.28);
  background:rgba(224,184,51,.06);
  color:var(--c-link, #1f9fff);font-size:22px;opacity:.9;
}
.bbs-dm-list-empty strong{
  display:block;font-size:14px;color:rgba(255,255,255,.6);margin-bottom:6px;font-weight:500;
}
.bbs-dm-list-empty p{
  margin:0;font-size:12px;color:rgba(255,255,255,.3);line-height:1.6;
}

/* ?? ?????? ?? */
.bbs-dm-overlay {
  position:fixed;inset:0;z-index:10050;
  background:
    radial-gradient(ellipse 65% 40% at 50% 10%, rgba(155,58,43,.12), transparent 55%),
    rgba(5,4,3,.82);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  display:flex;align-items:center;justify-content:center;
  padding:20px;
  animation:bbs-dm-fade-in .26s ease;
}
.bbs-dm-panel {
  position:relative;
  width:100%;max-width:440px;max-height:88vh;
  background:linear-gradient(165deg, rgba(28,26,24,.99), rgba(12,11,10,.99));
  border:1px solid rgba(255,255,255,.09);
  border-radius:2px;
  box-shadow:0 24px 64px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.04);
  display:flex;flex-direction:column;overflow:hidden;
  animation:bbs-dm-slide-up .32s cubic-bezier(.16,1,.3,1);
}
.bbs-dm-panel::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:3px;z-index:2;
  background:linear-gradient(180deg, var(--c-link, #1f9fff), var(--c-brand-3, #1f9fff), transparent 80%);
  pointer-events:none;
}
.bbs-dm-header {
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:16px 18px 14px 20px;border-bottom:1px solid rgba(255,255,255,.06);
  background:linear-gradient(180deg, rgba(255,255,255,.03), transparent);
}
.bbs-dm-header-main{min-width:0;flex:1}
.bbs-dm-header-kicker{
  display:block;font-family:var(--font-code);font-size:9px;letter-spacing:.2em;
  color:var(--c-link, #1f9fff);margin-bottom:4px;
}
.bbs-dm-header h4 {
  margin:0;font-size:1rem;color:var(--t0);font-family:var(--font-zh);font-weight:600;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.bbs-dm-header-sub{
  display:block;margin-top:4px;font-family:var(--font-code);font-size:10px;
  letter-spacing:.08em;color:var(--t2);
}
.bbs-dm-header-sub:empty{display:none}
.bbs-dm-close {
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.45);font-size:18px;line-height:1;
  width:32px;height:32px;border-radius:2px;cursor:pointer;flex-shrink:0;
  display:grid;place-items:center;transition:background .2s,color .2s,border-color .2s;
}
.bbs-dm-close:hover {
  color:#fff;background:rgba(155,58,43,.22);border-color:rgba(201,90,68,.45);
}
.bbs-dm-messages {
  flex:1;min-height:260px;max-height:54vh;overflow-y:auto;
  padding:18px 16px 14px 18px;display:flex;flex-direction:column;gap:14px;
  background:
    radial-gradient(ellipse 80% 50% at 50% 0%, rgba(224,184,51,.03), transparent 60%);
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent;
}
.bbs-dm-messages::-webkit-scrollbar{width:5px}
.bbs-dm-messages::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:999px}
.bbs-dm-empty {
  text-align:center;color:var(--t2);
  font-size:13px;padding:48px 20px;font-family:var(--font-zh);line-height:1.7;
}
.bbs-dm-empty::before{
  content:'\25C7';display:block;margin-bottom:10px;
  font-size:18px;color:var(--c-link, #1f9fff);opacity:.7;letter-spacing:0;
}
.bbs-dm-msg { display:flex;flex-direction:column;align-items:flex-start;max-width:82%; }
.bbs-dm-msg.mine { align-self:flex-end;align-items:flex-end; }
.bbs-dm-bubble {
  padding:11px 14px;border-radius:2px 10px 10px 10px;
  background:rgba(255,255,255,.05);color:var(--t0);
  font-size:13.5px;line-height:1.55;word-break:break-word;
  border:1px solid rgba(255,255,255,.07);
  box-shadow:0 2px 8px rgba(0,0,0,.12);
}
.bbs-dm-msg.mine .bbs-dm-bubble {
  border-radius:10px 2px 10px 10px;
  background:linear-gradient(145deg, rgba(155,58,43,.9), rgba(181,72,54,.82));
  border-color:rgba(201,90,68,.35);color:#fff;
  box-shadow:0 4px 14px rgba(155,58,43,.22);
}
.bbs-dm-time {
  font-size:10px;color:rgba(255,255,255,.28);margin-top:5px;font-family:var(--font-code);letter-spacing:.04em;
}
.bbs-dm-input-bar {
  display:flex;gap:10px;align-items:flex-end;
  padding:14px 14px 16px 18px;border-top:1px solid rgba(255,255,255,.06);
  background:rgba(0,0,0,.2);
}
.bbs-dm-input {
  flex:1;resize:none;min-height:46px;max-height:120px;
  padding:11px 12px;border-radius:2px;border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.035);color:var(--t0);
  font-family:var(--font-zh);font-size:13px;line-height:1.5;
  transition:border-color .2s,box-shadow .2s;
}
.bbs-dm-input:focus {
  outline:none;border-color:rgba(224,184,51,.45);
  box-shadow:0 0 0 3px rgba(224,184,51,.1);
}
.bbs-dm-input::placeholder{color:rgba(255,255,255,.28)}
.bbs-dm-send-btn {
  flex-shrink:0;padding:11px 18px;border:1px solid rgba(224,184,51,.35);border-radius:2px;
  background:linear-gradient(135deg, var(--c-brand-2, #1f9fff), #111827);
  color:#fff;font-size:12px;font-family:var(--font-code);letter-spacing:.1em;cursor:pointer;
  box-shadow:0 4px 14px rgba(155,58,43,.28);
  transition:opacity .2s,transform .2s,box-shadow .2s,filter .2s;
}
.bbs-dm-send-btn:hover:not(:disabled){
  transform:translateY(-1px);filter:brightness(1.06);
  box-shadow:0 6px 18px rgba(155,58,43,.35);
}
.bbs-dm-send-btn:disabled { opacity:.55;cursor:not-allowed; }
.bbs-dm-bubble .bbs-inline-bq { width:22px;height:22px;vertical-align:middle; }

@media (max-width: 760px){
  .bbs-dm-inbox-overlay,.bbs-dm-overlay{padding:0}
  .bbs-dm-inbox-panel,.bbs-dm-panel{
    max-width:100%;max-height:100vh;height:100%;border-radius:0;
  }
  .bbs-dm-messages{max-height:none;flex:1}
  .bbs-dm-page-head{flex-direction:column;align-items:flex-start}
}

/* ?? ???? ???? ????????????????????????? */
.plaza-side-pingdao{
  border-top:1px solid var(--edge-2);padding-top:14px;
}
.plaza-side-pingdao h6{
  font-family:var(--font-code);font-size:11px;color:var(--t1);letter-spacing:.22em;
  text-transform:uppercase;margin-bottom:12px;font-weight:400;
}
.plaza-side-pingdao .plaza-stats-row{
  display:flex;flex-direction:row;flex-wrap:wrap;gap:1px;
}
.plaza-side-pingdao .plaza-stats-row a{
  display:flex;align-items:center;justify-content:center;gap:8px;
  flex:1 1 auto;
  padding:10px 10px;
  font-family:var(--font-zh);font-size:13px;color:var(--t2);font-weight:400;
  border:1px solid transparent;position:relative;
  transition:color .25s,background .25s,border-color .25s;
}
.plaza-side-pingdao .plaza-stats-row a::before{
  content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:0;height:2px;background:var(--c-brand-3, #1f9fff);
  transition:width .25s cubic-bezier(.4,0,.2,1);
}
.plaza-side-pingdao .plaza-stats-row a:hover{
  color:var(--t0);background:rgba(30,45,70,.04);border-color:var(--edge);
}
.plaza-side-pingdao .plaza-stats-row a:hover::before{
  width:60%;
}
.plaza-side-pingdao .plaza-stats-row a.on,
.plaza-side-pingdao .plaza-stats-row a.active{
  color:var(--c-brand-3, #1f9fff);border-color:var(--c-brand-edge, rgba(31,159,255,.28));background:var(--c-brand-soft, rgba(31,159,255,.08));
}
.plaza-side-pingdao .plaza-stats-row a.on::before,
.plaza-side-pingdao .plaza-stats-row a.active::before{
  width:60%;
}

.plaza-side-pingdao .plaza-stats-row a.on .badge,
.plaza-side-pingdao .plaza-stats-row a.active .badge{
  color:var(--c-brand-3, #1f9fff);border-color:var(--c-brand-edge, rgba(31,159,255,.28));
}

/* ?????? */
.plaza-side-pingdao .plaza-stats-row a .ch-icon{
  width:18px;height:18px;flex-shrink:0;opacity:.45;
  transition:opacity .25s;
}
.plaza-side-pingdao .plaza-stats-row a:hover .ch-icon,
.plaza-side-pingdao .plaza-stats-row a.on .ch-icon,
.plaza-side-pingdao .plaza-stats-row a.active .ch-icon{
  opacity:1;
}

/* ?? ???????????? ????????????????? */
@media (max-width:760px){
  .plaza-side-pingdao .plaza-stats-row{
    flex-direction:row;flex-wrap:wrap;gap:6px;
  }
  .plaza-side-pingdao .plaza-stats-row a{
    flex:1 1 calc(50% - 3px);min-width:120px;
    justify-content:center;padding:9px 12px;font-size:12.5px;
  }
  .plaza-side-pingdao .plaza-stats-row a::before{
    display:none;
  }
}

.plaza-composer{
  border:1px solid var(--edge-2);background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015));
  padding:18px;display:flex;flex-direction:column;gap:12px;
}
.plaza-editor-head,.plaza-editor-bottom,.plaza-toolbar,.feed-actions,.feed-author,.plaza-note-kicker,.askq-top,.dossier-post-meta{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.plaza-editor-head span{
  display:block;font-family:var(--font-code);font-size:10px;color:var(--c-brand-3, #1f9fff);letter-spacing:.2em;text-transform:uppercase;margin-bottom:5px;
}
.plaza-editor-head strong{font-family:var(--font-zh);font-size:18px;color:var(--t0);font-weight:500}
.plaza-editor-head select{
  background:var(--s0);border:1px solid var(--edge-2);color:var(--t0);font-family:var(--font-zh);font-size:13px;padding:9px 12px;outline:none;
}
.plaza-editor-title,.plaza-composer textarea{
  width:100%;background:var(--s0);border:1px solid var(--edge);color:var(--t0);outline:none;
  font-family:var(--font-zh);font-size:14px;padding:12px 14px;
}
.plaza-composer textarea{min-height:96px;resize:vertical;line-height:1.7}
.plaza-editor-title:focus,.plaza-composer textarea:focus,.plaza-editor-head select:focus{border-color:var(--c-brand, #1f9fff)}
.plaza-editor-upload{
  width:150px;height:64px;border:1px dashed var(--edge-2);display:grid;place-items:center;cursor:pointer;overflow:hidden;background:rgba(255,255,255,.02);
}
.plaza-editor-upload input{display:none}
.plaza-editor-upload span{
  font-family:var(--font-code);font-size:10px;color:var(--t2);letter-spacing:.16em;text-transform:uppercase;
}
.plaza-editor-upload img{width:100%;height:100%;object-fit:cover;display:block}
.plaza-composer .btn::before{display:none}
.plaza-composer .btn.primary:hover{
  color:#fff;background:var(--c-brand-2, #1f9fff);border-color:var(--c-brand-3, #1f9fff);
}

.plaza-tabs{margin-top:0}
.plaza-toolbar{
  margin:18px 0 20px;align-items:flex-start;flex-wrap:wrap;
}
.plaza-search{
  flex:1 1 260px;border:1px solid var(--edge);background:rgba(255,255,255,.02);
  padding:11px 14px;font-family:var(--font-zh);font-size:13px;color:var(--t2);
}
.plaza-sort{display:flex;gap:6px;flex-wrap:wrap}
.plaza-sort span{
  border:1px solid var(--edge);padding:10px 12px;font-family:var(--font-code);font-size:10px;color:var(--t2);letter-spacing:.14em;text-transform:uppercase;
}
.plaza-sort span.on{color:var(--c-link, #1f9fff);border-color:var(--c-link, #1f9fff);background:rgba(224,184,51,.06)}

.plaza-feed-grid{
  display:block;width:100%;
}

.plaza-note-card.featured{width:100%}
.plaza-note-media{aspect-ratio:4/3;background:var(--s2);overflow:hidden;border-bottom:1px solid var(--edge)}
.plaza-note-card.featured .plaza-note-media{aspect-ratio:16/7}
.plaza-note-media img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.88) contrast(1.04)}
.plaza-note-body{padding:18px 18px 16px;display:flex;flex-direction:column;gap:12px;min-width:0;overflow:hidden}
.plaza-note-kicker,.askq-top,.dossier-post-meta{
  font-family:var(--font-code);font-size:10px;color:var(--t2);letter-spacing:.16em;text-transform:uppercase;
  overflow-wrap:break-word;word-break:break-word;
}
.plaza-note-kicker .note-tone{color:var(--c-link, #1f9fff)}
.plaza-note-kicker .note-tone--sticky,
.plaza-note-kicker .note-tone--essence{color:var(--c-link, #1f9fff)}
.gm-drop-badge{
  display:inline-block;margin-left:8px;padding:2px 8px;border:1px solid var(--gm-drop-badge-border, rgba(212,160,23,.55));
  border-radius:999px;color:var(--gm-drop-color, #d4a017);font-weight:700;font-size:10px;letter-spacing:.08em;
  text-transform:none;animation:none;
  background:var(--gm-drop-badge-bg, rgba(212,160,23,.08));
}
.plaza-note-card.has-gm-reply{
  border-color:var(--gm-drop-border, rgba(212,160,23,.42));
  box-shadow:0 0 0 1px var(--gm-drop-shadow, rgba(212,160,23,.12));
}
.plaza-note-card.has-gm-reply:hover{
  border-color:var(--gm-drop-border-hover, rgba(212,160,23,.62));
  box-shadow:0 4px 18px var(--gm-drop-shadow-hover, rgba(212,160,23,.12));
}
@keyframes gm-drop-glow{
  0%,100%{opacity:1;transform:translateY(0)}
  50%{opacity:.82;transform:translateY(-1px)}
}

.plaza-note-card h3{font-size:18px}
.plaza-note-card.featured h3{font-size:24px}
.note-has-image-icon{display:inline-block;vertical-align:middle;margin-left:6px;color:#111827;flex-shrink:0;line-height:1;position:relative;top:-1px;transition:color .2s}
.plaza-note-card:hover .note-has-image-icon{color:var(--c-link, #1f9fff)}

.feed-tags{display:flex;flex-wrap:wrap;gap:6px}
.feed-tags span{font-size:11px;padding:4px 8px;color:var(--t2)}
.feed-author{justify-content:flex-start}
.feed-author .avatar{width:32px;height:32px;font-size:13px;flex-shrink:0;border-radius:50%;overflow:hidden;display:grid;place-items:center;border:1px solid var(--edge-2);background:var(--s2);color:var(--t1)}
.feed-author .avatar img{width:100%;height:100%;object-fit:cover;display:block}
.feed-author strong{display:block;font-family:var(--font-zh);font-size:13px;color:var(--t0);font-weight:500;overflow-wrap:break-word;word-break:break-word}
.feed-author em{display:block;font-family:var(--font-code);font-size:10px;color:var(--t2);font-style:normal;margin-top:2px;letter-spacing:.06em;overflow-wrap:break-word;word-break:break-word}
.feed-actions{
  border-top:1px solid var(--edge);padding-top:12px;flex-wrap:wrap;justify-content:flex-start;
  font-family:var(--font-code);font-size:11px;color:var(--t2);letter-spacing:.06em;
}
.feed-actions span:first-child{color:var(--t1)}

.plaza-question-feed{display:flex;flex-direction:column;gap:12px}
.plaza-question{display:grid;grid-template-columns:108px minmax(0,1fr);gap:0}
.askq-vote{
  border-right:1px solid var(--edge);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:16px 10px;
  background:rgba(155,58,43,.05);
}
.askq-vote strong{font-family:var(--font-code);font-size:22px;color:var(--c-brand-3, #1f9fff);font-weight:600}
.askq-vote span{font-family:var(--font-zh);font-size:12px;color:var(--t2)}
.askq-main{padding:18px;display:flex;flex-direction:column;gap:11px;min-width:0;overflow:hidden}
.askq-shot{aspect-ratio:16/7;overflow:hidden;background:var(--s2);border:1px solid var(--edge)}
.askq-shot img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.85) contrast(1.05)}
.qcode{color:var(--t2)}
.qstate,.qseverity{
  border:1px solid currentColor;padding:3px 7px;font-family:var(--font-code);font-size:10px;letter-spacing:.14em;
}
.qstate.wai{color:var(--c-link, #1f9fff)}
.qstate.wf,.qstate.dup{color:var(--t2)}
.qstate.ack{color:var(--c-link, #1f9fff)}
.qseverity{color:var(--c-brand-3, #1f9fff)}
/* ?????????????? + !important ??????? */
.qpri{font-family:var(--font-code);font-size:10px;letter-spacing:.12em;color:var(--t1)}
/* P0: ?? - ?? */
.qpri[data-priority="P0"]{color:#e45050 !important}
/* P1: ? - ??? */
.qpri[data-priority="P1"]{color:#d97845 !important}
/* P2: ? - ??????? */
.qpri[data-priority="P2"]{color:#c4855e !important}
/* P3: ? - ?? */
.qpri[data-priority="P3"]{color:#8e8a82 !important}
.qpri-btn{cursor:pointer;font-family:var(--font-code);font-size:10px;color:var(--c-link, #1f9fff);letter-spacing:.12em;border:1px solid var(--c-link, #1f9fff);padding:2px 8px;display:inline-block;margin-left:6px}
.qpri-vote{cursor:pointer;font-family:var(--font-code);font-size:10px;color:var(--t1);letter-spacing:.12em;border:1px solid var(--t1);padding:2px 8px;display:inline-block;transition:all .2s;margin-left:auto}
.qpri-vote:hover{color:var(--c-link, #1f9fff);border-color:var(--c-link, #1f9fff)}
.qpri-vote.qpri-voted{color:var(--t3);border-color:var(--t3);cursor:default}
.qpri-vote.qpri-voted:hover{color:var(--t3);border-color:var(--t3)}
.askq-reply{
  border-left:2px solid var(--c-link, #1f9fff);background:rgba(197,131,45,.05);padding:10px 12px;
  font-family:var(--font-zh);font-size:12.5px;color:var(--t1);line-height:1.65;
  overflow-wrap:break-word;word-break:break-word;
}
.askq-reply span{
  display:block;font-family:var(--font-code);font-size:10px;color:var(--c-link, #1f9fff);letter-spacing:.16em;text-transform:uppercase;margin-bottom:4px;
}
.askq-reply p{margin:0}
.askq-reply-pending p{color:var(--t2)}

/* ??????????? BUG ???????? ??????????? */
.bug-severity-pills .bug-sev-pill:hover,
.bug-priority-pills .bug-pri-pill:hover{
  border-color:var(--edge-2);background:rgba(255,255,255,.02);
}
.bug-sev-pill input:checked + span:first-of-type{color:var(--c-brand-3, #1f9fff)}
.bug-pri-pill input:checked + span:first-of-type{color:var(--c-link, #1f9fff)}
.bug-sev-pill:has(input:checked){
  border-color:var(--c-brand-edge, rgba(31,159,255,.28));background:rgba(155,58,43,.08);
}
.bug-sev-pill:has(input:checked) span{color:var(--c-brand-3, #1f9fff)}
.bug-pri-pill:has(input:checked){
  border-color:var(--c-link, #1f9fff);background:rgba(197,131,45,.08);
}
.bug-pri-pill:has(input:checked) span{color:var(--c-link, #1f9fff)}

/* BUG ????????? */
#bug-title:focus,
#bug-steps:focus,
#bug-expected:focus,
#bug-notes:focus{
  border-color:var(--c-brand-edge, rgba(31,159,255,.28));
}
/* BUG ???????? */
#bugPostForm button[type="submit"]:hover{opacity:.88}

@media (max-width:640px){
  #bugPostModal{padding:12px}
  #bugPostModal > div{margin:20px auto}
  .bug-severity-pills,
  .bug-priority-pills{gap:6px}
  .bug-sev-pill,
  .bug-pri-pill{padding:7px 10px;font-size:9px}
  .bug-sev-pill span:last-child,
  .bug-pri-pill span:last-child{font-size:8px}
  #bugPostForm{padding:16px 14px}
}

/* ??????????? ??? ? ???????? ??????????? */

.dossier-empty{
  border:1px dashed var(--edge-2);background:rgba(255,255,255,.02);padding:28px;
  display:flex;flex-direction:column;align-items:flex-start;gap:12px;
}
.dossier-empty strong{font-family:var(--font-zh);font-size:18px;color:var(--t0);font-weight:500}
.dossier-empty p{font-family:var(--font-zh);font-size:13.5px;color:var(--t1);line-height:1.7;margin:0}

.dossier-post-fallback{font-family:var(--font-code);font-size:20px;color:var(--c-brand-3, #1f9fff)}
.dossier-post-meta{justify-content:flex-start;margin-bottom:7px}
.dossier-post-meta span:first-child{color:var(--c-link, #1f9fff)}

@media (max-width:1180px){
  .plaza-shell{grid-template-columns:190px minmax(0,1fr)}
}
@media (max-width:900px){
  
  .plaza-left{position:static}
  .plaza-feed-grid{grid-template-columns:1fr}
  .plaza-note-card.featured{grid-column:auto}
  .plaza-note-card.featured .plaza-note-media{aspect-ratio:4/3}
}
@media (max-width:640px){
  .plaza-editor-head,.plaza-editor-bottom,.plaza-toolbar{align-items:stretch;flex-direction:column}
  .plaza-editor-upload{width:100%}
  .plaza-question{grid-template-columns:1fr}
  .askq-vote{border-right:0;border-bottom:1px solid var(--edge);align-items:flex-start}
  .askq-top{align-items:flex-start;flex-wrap:wrap;justify-content:flex-start}

  .plaza-profile-character{width:64px;height:64px}
  .plaza-profile-character .avatar{width:56px;height:56px;font-size:20px}
  .character-empty-icon{width:24px;height:24px}
  .character-empty-text{font-size:10px}
  .plaza-side-channels,.plaza-side-tags{display:none}
}
/* ???????????????????????????????????????????????????????
   PAGE: bbs/detail.php ? ????? ? BBS????
   ??????????????????????????????????????????????????????? */
.bbs-detail-shell{
  display:flex;gap:0;max-width:none;margin:0;
  padding:0;align-items:flex-start;width:100%;
}
.bbs-detail-main{
  flex:1;min-width:0;padding-left:28px;
  padding-bottom:60px;
}
.bbs-detail-left{
  width:280px;flex-shrink:0;padding-right:28px;position:sticky;top:70px;padding-bottom:40px;
  border-right:1px solid var(--edge);
}

/* ?? ?? & ??? ?? */
.bbs-detail-topbar{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:18px 0;margin-bottom:20px;border-bottom:1px solid var(--edge);
}
.bbs-detail-back{
  font-family:var(--font-code);font-size:10px;color:var(--t2);
  letter-spacing:.16em;text-transform:uppercase;display:inline-flex;align-items:center;gap:6px;
  border:1px solid var(--edge-2);padding:9px 14px;transition:color .18s,border-color .18s;
}
.bbs-detail-back:hover{color:var(--c-link, #1f9fff);border-color:var(--c-link, #1f9fff)}
.bbs-detail-topbar .btn.primary{font-size:12px;padding:10px 20px}

/* ?? ???? ?? */
.bbs-detail-post{
  border:1px solid #111;background:linear-gradient(180deg,rgba(255,255,255,.028),rgba(255,255,255,.012));
  padding:0;margin-bottom:0;
}
.bbs-detail-header{
  padding:28px 28px 20px;border-bottom:1px solid var(--edge);
}
.bbs-detail-title{
  font-family:var(--font-zh);font-size:26px;font-weight:600;color:var(--t0);
  line-height:1.35;margin:0 0 16px;letter-spacing:.01em;
}
.bbs-detail-meta{
  display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;
  font-family:var(--font-code);font-size:10px;color:var(--t2);
  letter-spacing:.1em;text-transform:uppercase;
}
.bbs-detail-meta .author-link{
  display:inline-flex;align-items:center;gap:8px;font-family:var(--font-zh);
  font-size:13px;color:var(--t0);text-transform:none;font-weight:500;letter-spacing:0;
}
.bbs-detail-meta .author-link:hover{color:var(--c-brand-3, #1f9fff)}
.bbs-detail-meta .author-avatar{
  width:28px;height:28px;border:1px solid var(--c-brand-edge, rgba(31,159,255,.28));background:var(--c-brand-soft, rgba(31,159,255,.08));
  color:var(--c-brand-3, #1f9fff);display:grid;place-items:center;font-family:var(--font-zh);
  font-size:12px;font-weight:700;flex-shrink:0;border-radius:50%;overflow:hidden;
}
.bbs-detail-meta .author-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.bbs-detail-meta .sep{color:var(--t3);margin:0 2px}
.bbs-detail-meta .stat{color:var(--t1);display:inline-flex;align-items:center;gap:4px}
.bbs-detail-meta .stat svg{width:13px;height:13px;opacity:.5}

/* ?? ???? ?? */
.bbs-detail-content{
  padding:28px;
  font-family:var(--font-zh);font-size:15px;color:#1a2433;line-height:1.85;
}
/* ??????????????????????? Quill ??????style/class?????? */
.bbs-detail-content p{margin:0 0 1.2em}
.bbs-detail-content p:last-child{margin-bottom:0}
.bbs-detail-content img{
  max-width:100%;height:auto;border:1px solid var(--edge-2);
  display:block;margin:18px 0;
}
.bbs-detail-content blockquote{
  border-left:3px solid var(--c-brand, #1f9fff);background:var(--c-brand-soft, rgba(31,159,255,.08));
  padding:14px 18px;margin:18px 0;font-size:14px;color:#3a4a5f;
}
.bbs-detail-content pre,.bbs-detail-content code{
  background:var(--s2);border:1px solid var(--edge);
  font-family:var(--font-code);font-size:13px;padding:3px 6px;
}
.bbs-detail-content pre{padding:16px;overflow-x:auto;line-height:1.65}
.bbs-detail-content pre code{padding:0;border:none;background:none}
.bbs-detail-content h2,.bbs-detail-content h3,.bbs-detail-content h4{
  font-family:var(--font-zh);color:#1a2433;font-weight:600;margin:24px 0 12px;
}
.bbs-detail-content h2{font-size:20px}
.bbs-detail-content h3{font-size:17px}
.bbs-detail-content a{color:var(--c-brand-3, #1f9fff);text-decoration:underline;text-underline-offset:3px}
.bbs-detail-content ul,.bbs-detail-content ol{padding-left:22px;margin:12px 0}

/* ?? ????(?/??/??) ?? */
.bbs-detail-actions{
  display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:16px 28px;
  border-top:1px solid var(--edge);
  font-family:var(--font-zh);font-size:13px;color:var(--t2);letter-spacing:0;
}
.bbs-detail-actions .bbs-vote-group{
  display:inline-flex;align-items:center;gap:8px;flex-wrap:nowrap;
}
.bbs-detail-actions button,
.bbs-detail-actions .bbs-follow-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  border:1px solid rgba(0,0,0,.22);background:#fff;
  color:#333;font-family:var(--font-zh);font-size:13px;font-weight:600;
  padding:8px 14px;min-height:36px;border-radius:8px;cursor:pointer;
  transition:border-color .18s,color .18s,background .18s,transform .12s,box-shadow .18s;
  line-height:1;box-sizing:border-box;
}
.bbs-detail-actions button:hover,
.bbs-detail-actions .bbs-follow-btn:hover{
  color:#111;border-color:#111;background:#fafafa;
}
.bbs-detail-actions button svg{width:16px;height:16px;flex-shrink:0}
.bbs-detail-actions .spacer{flex:1;min-width:8px}

/* vote buttons */
.bbs-detail-actions .vote-btn{position:relative;user-select:none;}
.bbs-detail-actions .vote-btn .vote-count{
  font-style:normal;font-family:var(--font-code);font-size:12px;font-weight:600;
  min-width:6px;text-align:center;color:var(--t2);font-variant-numeric:tabular-nums;
}
.bbs-detail-actions .vote-btn .vote-label{font-family:var(--font-zh);font-size:13px;font-weight:600;}
.bbs-detail-actions .vote-btn:active{transform:scale(.96);}

.bbs-detail-actions .vote-btn[data-action="support"]:hover{
  color:#5a9b5a;border-color:rgba(90,155,90,.45);background:rgba(90,155,90,.06);
}
.bbs-detail-actions .vote-btn[data-action="support"].active{
  color:#5a9b5a !important;
  border-color:rgba(90,155,90,.55) !important;
  background:rgba(90,155,90,.1) !important;
}
.bbs-detail-actions .vote-btn[data-action="support"].active svg{opacity:.95;}
.bbs-detail-actions .vote-btn[data-action="support"].active .vote-count{color:#5a9b5a;}

.bbs-detail-actions .vote-btn[data-action="oppose"]:hover{
  color:#111;border-color:#111;background:rgba(0,0,0,.04);
}
.bbs-detail-actions .vote-btn[data-action="oppose"].active{
  color:#111 !important;
  border-color:#111 !important;
  background:rgba(0,0,0,.08) !important;
}
.bbs-detail-actions .vote-btn[data-action="oppose"].active svg{opacity:.95;}
.bbs-detail-actions .vote-btn[data-action="oppose"].active .vote-count{color:#111;}

/* follow button */
.bbs-detail-actions .bbs-follow-btn.is-follow{
  border-color:#111;color:#111;background:#fff;
}
.bbs-detail-actions .bbs-follow-btn.is-follow:hover{
  background:#111;color:#fff;border-color:#111;
}
.bbs-detail-actions .bbs-follow-btn.is-following{
  border-color:#111;color:#fff;background:#111;
}
.bbs-detail-actions .bbs-follow-btn.is-following:hover{
  background:#333;border-color:#333;color:#fff;
}
.bbs-detail-actions .bbs-follow-btn.is-back{
  border-color:#111;color:#111;background:#fff;
}

/* GM buttons keep ghost look but match radius */
.bbs-detail-actions .bbs-gm-post-btn{
  font-size:12px;font-weight:600;border-radius:8px;
}

@keyframes votePulse {
  0% { transform:scale(1); }
  35% { transform:scale(1.12); }
  100% { transform:scale(1); }
}
.bbs-detail-actions .vote-btn.pulse { animation:votePulse .38s ease; }
@media (prefers-reduced-motion:reduce){
  .bbs-detail-actions .vote-btn.pulse{animation:none;}
  .bbs-detail-actions .vote-btn:active{transform:none;}
}
@media (max-width:640px){
  .bbs-detail-actions{padding:14px 16px;gap:6px;flex-wrap:wrap;}
  .bbs-detail-actions .bbs-vote-group{order:1;flex-wrap:nowrap;gap:6px;flex-shrink:0;}
  .bbs-detail-actions .bbs-follow-btn{order:2;flex-shrink:0;white-space:nowrap;}
  .bbs-detail-actions .spacer{order:3;flex-basis:100%;height:0;min-width:0;}
  .bbs-detail-actions .bbs-pin-btn,
  .bbs-detail-actions .bbs-gm-post-btn{order:4;}
  .bbs-detail-actions button,
  .bbs-detail-actions .bbs-follow-btn{padding:8px 10px;font-size:12px;min-height:34px;white-space:nowrap;}
}

/* ?? ???????(Quill) ?? */
.bbs-detail-editor{
  margin-top:0;position:relative;z-index:1;background:var(--s1);
}
.bbs-detail-editor .ql-toolbar{
  border:1px solid var(--edge-2)!important;border-bottom:none!important;
  background:var(--s2);
}
.bbs-detail-editor .ql-container{
  border:1px solid var(--edge-2)!important;border-top:none!important;
  background:var(--s1);min-height:140px;font-family:var(--font-zh);font-size:14px;color:var(--t0);
}
.bbs-detail-editor .ql-editor{min-height:140px;line-height:1.75}
.bbs-detail-editor .ql-editor.ql-blank::before{color:var(--t2);font-style:normal}
.bbs-detail-editor-footer{
  display:flex;align-items:center;justify-content:flex-end;gap:12px;
  padding:14px 0 0;
}
.bbs-detail-editor-footer .btn.primary{font-size:12px;padding:11px 26px}

/* ?? ??? ?? */
.bbs-comments-section{
  margin-top:40px;
  border:1px solid #111;
  border-radius:8px;
  background:rgba(255,255,255,.02);
  padding:24px;
}
.bbs-comments-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid var(--edge);
}
.bbs-comments-head h3{
  font-family:var(--font-zh);font-size:20px;font-weight:600;color:var(--t0);
  display:flex;align-items:center;gap:10px;
}
.bbs-comments-head h3 .count{
  font-family:var(--font-code);font-size:12px;color:var(--t2);font-weight:400;letter-spacing:.08em;
}
.bbs-comments-sort{
  font-family:var(--font-code);font-size:10px;color:var(--t2);letter-spacing:.14em;text-transform:uppercase;
}

.bbs-comment-item{
  border-bottom:1px solid var(--edge);padding:20px 0;
  display:flex;gap:14px;align-items:flex-start;
}
.bbs-comment-item:last-child{border-bottom:none}
.bbs-comment-avatar{
  width:38px;height:38px;flex-shrink:0;
  border:1px solid var(--c-brand-edge, rgba(31,159,255,.28));background:var(--c-brand-soft, rgba(31,159,255,.08));
  color:var(--c-brand-3, #1f9fff);display:grid;place-items:center;
  font-family:var(--font-zh);font-size:14px;font-weight:700;border-radius:50%;overflow:hidden;
}
.bbs-comment-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.bbs-comment-body{flex:1;min-width:0}
.bbs-comment-top{
  display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin-bottom:8px;
}
.bbs-comment-author{
  font-family:var(--font-zh);font-size:13px;color:var(--t0);font-weight:500;
  cursor:pointer;transition:color .18s,opacity .18s;
}
.bbs-comment-author:hover{opacity:.8;color:var(--c-link, #1f9fff)}
.bbs-comment-author.vip-nickname:hover{opacity:1}
.bbs-comment-level{
  font-family:var(--font-code);font-size:10px;color:var(--t2);letter-spacing:.06em;
  border:1px solid var(--edge);padding:2px 6px;
}
.bbs-comment-floor{
  font-family:var(--font-code);font-size:10px;color:var(--t2);letter-spacing:.08em;margin-left:auto;
}
.bbs-comment-floor.hot{color:var(--c-brand-3, #1f9fff)}
.bbs-comment-time{
  font-family:var(--font-code);font-size:10px;color:var(--t2);letter-spacing:.06em;
}
.bbs-comment-text{
  font-family:var(--font-zh);font-size:14px;color:var(--t0);line-height:1.75;word-break:break-word;
}
/* ??????? */
.bbs-comment-image-wrap{
  margin-top:10px;
}
.bbs-comment-image-thumb{
  max-width:180px;max-height:140px;
  border-radius:6px;border:1px solid var(--edge);
  display:block;object-fit:cover;
  cursor:pointer;
  transition:opacity .18s,transform .18s;
}
.bbs-comment-image-thumb:hover{
  opacity:.82;transform:scale(1.02);
}
/* ?????????? biaoqing? */
.bbs-inline-bq{
  width:26px;height:26px;
  vertical-align:middle;
  display:inline-block;
  margin:0 1px;border-radius:3px;
  image-rendering:auto;
}
/* ?????????????? */
.bbs-comment-text img.bbs-inline-bq{
  vertical-align:text-bottom;
}
.bbs-comment-actions{
  display:flex;align-items:center;gap:16px;margin-top:10px;
  font-family:var(--font-code);font-size:10px;color:var(--t2);letter-spacing:.06em;
}
.bbs-comment-actions span{
  display:inline-flex;align-items:center;gap:4px;cursor:pointer;transition:color .18s;
}
.bbs-comment-actions span:hover{color:var(--c-link, #1f9fff)}
.bbs-comment-actions svg{width:13px;height:13px;opacity:.5}

/* ?? ??? ? ????? ?? */
.bbs-left-card{
  border:1px solid #111;background:rgba(255,255,255,.02);border-radius:8px;
  padding:22px;margin-bottom:16px;display:flex;flex-direction:column;align-items:center;gap:14px;
}
.bbs-left-avatar-link{display:block;text-decoration:none}
.bbs-left-avatar-link:hover{opacity:.85}
.bbs-left-character{
  width:150px;height:150px;border:1px solid var(--edge-2);background:#ffffff;
  overflow:hidden;position:relative;
}
.bbs-left-character img{width:100%;height:100%;object-fit:contain;display:block}
.bbs-left-avatar{
  width:100px;height:100px;border:1px solid var(--c-brand-edge, rgba(31,159,255,.28));background:var(--c-brand-soft, rgba(31,159,255,.08));
  color:var(--c-brand-3, #1f9fff);display:grid;place-items:center;
  font-family:var(--font-zh);font-size:36px;font-weight:700;border-radius:50%;overflow:hidden;
}
.bbs-left-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.bbs-left-name{
  font-family:var(--font-zh);font-size:16px;color:var(--t0);font-weight:500;text-align:center;
}
.bbs-left-uid{
  font-family:var(--font-code);font-size:10px;color:var(--t2);letter-spacing:.08em;
}
.bbs-left-level-row{
  display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;
}
.bbs-left-level{
  font-family:var(--font-code);font-size:11px;color:var(--t0);font-weight:600;letter-spacing:.06em;
}
.bbs-left-title{
  font-family:var(--font-zh);font-size:10px;color:var(--c-link, #1f9fff);padding:2px 8px;
  border:1px solid var(--c-brand-edge, rgba(31,159,255,.28));background:var(--c-brand-soft, rgba(31,159,255,.08));
}
.bbs-left-exp-bar{
  height:5px;background:rgba(255,255,255,.04);border-radius:3px;overflow:hidden;width:100%;
  border:1px solid var(--edge-2);
}
.bbs-left-exp-fill{
  height:100%;background:linear-gradient(90deg,var(--c-link, #1f9fff),#ff8c42);border-radius:3px;
  transition:width .6s cubic-bezier(.4,0,.2,1);
}
.bbs-left-exp-info{
  display:flex;justify-content:space-between;width:100%;
  font-family:var(--font-code);font-size:10px;letter-spacing:.04em;
}
.bbs-left-exp-current{color:var(--c-link, #1f9fff);font-weight:600}
.bbs-left-exp-next{color:var(--t2)}

.bbs-left-stats{
  display:flex;gap:0;width:100%;border-top:1px solid var(--edge);padding-top:14px;
}
.bbs-left-stat{
  flex:1;text-align:center;
}
.bbs-left-stat strong{
  display:block;font-family:var(--font-code);font-size:16px;color:var(--t0);font-weight:600;
}
.bbs-left-stat span{
  display:block;font-family:var(--font-code);font-size:10px;color:var(--t2);letter-spacing:.12em;margin-top:3px;
}

/* ????????? / ?? ? ???????? / ????? */
.bbs-left-actions.plaza-quick-row{
  width:100%;margin:0;overflow:visible;
}
.bbs-left-actions .plaza-quick-btn{
  cursor:pointer;
}
.bbs-left-actions .plaza-quick-btn:disabled{
  opacity:.55;cursor:wait;transform:none;
}
.bbs-left-actions .plaza-quick-btn-info.is-pending_sent{
  color:var(--t2);
}
.bbs-left-actions .plaza-quick-btn-info.is-pending_received{
  color:var(--c-link, #1f9fff);border-color:rgba(224,184,51,.45);
  background:rgba(224,184,51,.1);
}
.bbs-left-actions .plaza-quick-btn-info.is-pending_received .plaza-quick-icon{
  background:rgba(224,184,51,.16);border-color:rgba(224,184,51,.4);
}
.bbs-left-actions .plaza-quick-btn-info.is-friends{
  color:var(--t2);
}

/* ??? toast / ?????????? */
.bbs-friend-toast{
  position:fixed;left:50%;bottom:36px;z-index:10080;transform:translate(-50%,16px);
  max-width:min(420px,calc(100vw - 32px));padding:12px 18px;
  border:1px solid rgba(0,0,0,.1);border-left:3px solid #1f9fff;border-radius:10px;
  background:#fff;color:#111;
  font-family:var(--font-zh);font-size:13.5px;letter-spacing:.03em;line-height:1.55;
  box-shadow:0 12px 36px rgba(0,0,0,.12);
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,transform .22s ease,visibility .22s;
}
.bbs-friend-toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}
.bbs-friend-toast.is-ok{border-left-color:#16a34a;color:#166534;background:#f0fdf4}
.bbs-friend-toast.is-err{border-left-color:#d66;color:#a33;background:#fff5f5}
.bbs-friend-toast.is-muted{border-left-color:#999;color:#555}

.bbs-friend-dialog-overlay{
  position:fixed;inset:0;z-index:10070;display:none;align-items:center;justify-content:center;
  padding:20px;background:rgba(0,0,0,.42);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}
.bbs-friend-dialog-overlay.is-open{display:flex !important;}
body.bbs-friend-dialog-open{overflow:hidden}
.bbs-friend-dialog{
  width:min(380px,100%);padding:22px 22px 18px;border-radius:14px;
  border:1px solid rgba(0,0,0,.1);background:#fff;
  box-shadow:0 22px 56px rgba(0,0,0,.18);color:#111;
  transform:translateY(8px);opacity:.98;
  transition:transform .18s ease,opacity .18s ease;
}
.bbs-friend-dialog-overlay.is-open .bbs-friend-dialog{transform:translateY(0);opacity:1}
.bbs-friend-dialog-kicker{
  font-family:var(--font-code);font-size:10px;letter-spacing:.18em;color:#1f9fff;margin-bottom:8px;
}
.bbs-friend-dialog-title{
  font-family:var(--font-zh);font-size:17px;font-weight:700;letter-spacing:.04em;margin-bottom:10px;color:#111;
}
.bbs-friend-dialog-body{
  font-family:var(--font-zh);font-size:13.5px;line-height:1.7;color:#555;margin-bottom:18px;
  white-space:pre-wrap;word-break:break-word;
}
.bbs-friend-dialog-actions{display:flex;gap:10px;justify-content:flex-end}
.bbs-friend-dialog-btn{
  min-width:84px;padding:9px 14px;border:1px solid rgba(0,0,0,.12);border-radius:10px;background:#f7f7f7;
  color:#444;font-family:var(--font-zh);font-size:13px;cursor:pointer;
  transition:border-color .18s,color .18s,background .18s;
}
.bbs-friend-dialog-btn:hover{color:#111;border-color:#111;background:#fff}
.bbs-friend-dialog-btn.ok{
  color:#fff;border-color:#111;background:#111;
}
.bbs-friend-dialog-btn.ok:hover{background:#333;border-color:#333}
.bbs-friend-dialog-btn.ok.is-danger{
  border-color:#a84832;background:linear-gradient(135deg,#dc2626,#a84832);
}
.bbs-friend-dialog-btn.cancel{color:#888;background:transparent}
@media(max-width:560px){
  .bbs-friend-toast{left:16px;right:16px;transform:translateY(16px);max-width:none}
  .bbs-friend-toast.show{transform:translateY(0)}
}

/* ?? ??? ? ???? ?? */
.bbs-left-card-title{
  font-family:var(--font-code);font-size:10px;color:var(--t2);
  letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px;
}

/* ?? ??? ? ???? ?? */
.bbs-left-post-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
.bbs-left-post-list li{
  padding:8px 0;border-bottom:1px solid var(--edge);
  font-family:var(--font-zh);font-size:12px;color:var(--t1);line-height:1.5;
}
.bbs-left-post-list li:last-child{border-bottom:none}
.bbs-left-post-list a{color:inherit}
.bbs-left-post-list a:hover{color:var(--t0)}

/* ?? ??????? ?? */
.bbs-login-prompt{
  border:1px solid var(--edge-2);background:rgba(255,255,255,.015);
  padding:40px 20px;text-align:center;
}
.bbs-login-prompt p{
  font-family:var(--font-zh);font-size:14px;color:var(--t2);margin-bottom:16px;
}
.bbs-login-prompt a.btn{
  display:inline-block;font-family:var(--font-code);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  padding:10px 28px;border:1px solid var(--c-brand-edge, rgba(31,159,255,.28));color:var(--c-brand-3, #1f9fff);
  transition:background .18s;
}
.bbs-login-prompt a.btn:hover{background:var(--c-brand-soft, rgba(31,159,255,.08))}

/* ?? ????? ?? */
.bbs-detail-empty{
  text-align:center;padding:80px 20px;
  border:1px solid var(--edge-2);background:rgba(255,255,255,.015);
}
.bbs-detail-empty .icon{font-size:48px;margin-bottom:16px;color:var(--t3)}
.bbs-detail-empty h2{
  font-family:var(--font-zh);font-size:20px;color:var(--t0);font-weight:500;margin-bottom:12px;
}
.bbs-detail-empty a{
  font-family:var(--font-code);font-size:11px;color:var(--c-link, #1f9fff);letter-spacing:.12em;text-transform:uppercase;
}

/* ?? ?? ?? */
@media (max-width:1000px){
  .bbs-detail-shell{flex-direction:column}
  .bbs-detail-main{padding-left:0}
  .bbs-detail-left{width:100%;padding-right:0;border-right:none;position:static;order:-1;margin-bottom:-50px}
  .bbs-left-character,.bbs-left-avatar{width:64px;height:64px;font-size:22px}
  .bbs-left-card{flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px;padding:14px}
  .bbs-left-stats{flex:1;min-width:0;border-top:none;padding-top:0}
  .bbs-left-actions{width:auto}
  .bbs-left-card-posts{display:none}
}
@media (max-width:640px){
  .bbs-detail-header{padding:18px}
  .bbs-detail-title{font-size:20px}
  .bbs-detail-content{padding:18px;font-size:14px}
  .bbs-comments-section{padding:16px}
  .bbs-comment-item{gap:10px}
  .bbs-comment-avatar{width:32px;height:32px;font-size:12px}
  .character-preview-2d{width:64px !important;height:64px !important}
  .bbs-detail-actions{padding:14px 16px;gap:6px;flex-wrap:wrap}
  .bbs-detail-actions .bbs-vote-group{order:1;flex-wrap:nowrap;gap:6px;flex-shrink:0}
  .bbs-detail-actions .bbs-follow-btn{order:2;flex-shrink:0;white-space:nowrap}
  .bbs-detail-actions .spacer{order:3;flex-basis:100%;height:0;min-width:0}
  .bbs-detail-actions .bbs-pin-btn,
  .bbs-detail-actions .bbs-gm-post-btn{order:4}
  .bbs-detail-actions button,
  .bbs-detail-actions .bbs-follow-btn{padding:8px 10px;font-size:12px;min-height:34px;white-space:nowrap}
  .bbs-detail-actions button svg{width:16px;height:16px}
  .bbs-detail-actions .vote-btn .vote-count{font-size:12px}
  .bbs-detail-actions .vote-btn .vote-label{font-size:12px}
}

/* === plaza-page visibility (was plaza-page in style.css) === */
.plaza-page{animation:tabFade .22s ease-out;display:none!important;}
.plaza-page.active{display:block!important;}
.plaza-page[hidden]{display:none!important;}

/* style.css still uses plaza-* ? mirror key interactive states onto community-* */
.bbs-left-actions.community-quick-row{margin:0;overflow:visible;width:100%;}
.bbs-left-actions .community-quick-btn{cursor:pointer;}
.bbs-left-actions .community-quick-btn:disabled{cursor:wait;opacity:.55;transform:none;}
.bbs-left-actions .community-quick-btn-info.is-pending_sent{color:var(--t2);}
.bbs-left-actions .community-quick-btn-info.is-pending_received{background:rgba(224,184,51,.1);border-color:rgba(224,184,51,.45);color:var(--c-link,#1f9fff);}
.bbs-left-actions .community-quick-btn-info.is-pending_received .community-quick-icon{background:rgba(224,184,51,.16);border-color:rgba(224,184,51,.4);}
.bbs-left-actions .community-quick-btn-info.is-friends{color:var(--t2);}

/* === Protect site-meter / meter-list from bbs CSS conflicts === */
#site-meter.site-meter{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  height:30px!important;
  padding:0 var(--gx)!important;
  background:var(--shell-bg)!important;
  border-bottom:1px solid var(--edge)!important;
  color:var(--t1)!important;
  font-family:var(--font-code)!important;
  font-size:11px!important;
  letter-spacing:.04em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
@media (max-width:768px){
  #site-meter.site-meter{display:none!important;}
}
#site-meter .meter-list{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:0!important;
  margin:0!important;
  padding:0!important;
  min-width:0!important;
  flex:1 1 auto!important;
  list-style:none!important;
}
#site-meter .meter-item{
  display:inline-flex!important;
  flex-direction:row!important;
  align-items:baseline!important;
  gap:6px!important;
  margin:0!important;
  padding:0!important;
}
#site-meter .meter-item + .meter-item{margin-left:18px!important;}
#site-meter .meter-item dt{
  display:inline!important;
  margin:0!important;
  padding:0!important;
  font-weight:400!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  color:var(--t2)!important;
}
#site-meter .meter-item dd{
  display:inline!important;
  margin:0!important;
  padding:0!important;
  color:var(--t0)!important;
  font-variant-numeric:tabular-nums!important;
}
#site-meter .meter-sep{
  display:inline-block!important;
  margin:0 10px!important;
  color:var(--t3)!important;
}
#site-meter .meter-tail{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  flex:0 0 auto!important;
  margin-left:16px!important;
}

/* ?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T
   ?????? ?? ?????????????????
   ?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T?T */
.bbs-dm-inbox-overlay,
.bbs-dm-overlay{
  background:rgba(17,17,17,.42) !important;
  backdrop-filter:blur(8px) !important;
  -webkit-backdrop-filter:blur(8px) !important;
  padding:24px !important;
}
.bbs-dm-inbox-panel,
.bbs-dm-panel{
  background:#ffffff !important;
  border:1px solid #111 !important;
  border-radius:10px !important;
  box-shadow:8px 8px 0 #111 !important;
  max-width:460px !important;
  overflow:hidden !important;
}
.bbs-dm-inbox-panel::before,
.bbs-dm-panel::before{
  display:none !important;
}
.bbs-dm-inbox-header,
.bbs-dm-header{
  background:#fafafa !important;
  border-bottom:1px solid rgba(0,0,0,.08) !important;
  padding:18px 20px 16px 22px !important;
}
.bbs-dm-inbox-kicker,
.bbs-dm-header-kicker{
  color:rgba(0,0,0,.45) !important;
  letter-spacing:.18em !important;
}
.bbs-dm-inbox-title-wrap h3,
.bbs-dm-header h4{
  color:#111 !important;
  font-weight:700 !important;
}
.bbs-dm-inbox-title-wrap p,
.bbs-dm-header-sub{
  color:rgba(0,0,0,.5) !important;
}
.bbs-dm-inbox-close,
.bbs-dm-close{
  background:#fff !important;
  border:1px solid rgba(0,0,0,.12) !important;
  color:rgba(0,0,0,.45) !important;
  border-radius:10px !important;
  width:34px !important;
  height:34px !important;
  font-size:20px !important;
}
.bbs-dm-inbox-close:hover,
.bbs-dm-close:hover{
  background:#111 !important;
  border-color:#111 !important;
  color:#fff !important;
}

/* ????? */
.bbs-dm-list,
.bbs-dm-list-modal{
  background:#fff !important;
  scrollbar-color:rgba(0,0,0,.2) transparent !important;
}
.bbs-dm-list-modal::-webkit-scrollbar-thumb,
.bbs-dm-messages::-webkit-scrollbar-thumb{
  background:rgba(0,0,0,.18) !important;
}
.bbs-dm-list-modal .bbs-dm-list-item{
  border-bottom:1px solid rgba(0,0,0,.06) !important;
  padding:14px 18px !important;
}
.bbs-dm-list-modal .bbs-dm-list-item:hover{
  background:rgba(0,0,0,.03) !important;
  padding-left:18px !important;
}
.bbs-dm-list-modal .bbs-dm-list-item.unread{
  background:linear-gradient(90deg,rgba(0,0,0,.04),transparent 72%) !important;
  border-left:3px solid #111 !important;
}
.bbs-dm-list-item:hover{background:rgba(0,0,0,.03) !important}
.bbs-dm-list-item.unread{background:rgba(0,0,0,.03) !important}
.bbs-dm-list-av{
  background:linear-gradient(145deg,#111,#333) !important;
  border:1px solid rgba(0,0,0,.12) !important;
  border-radius:12px !important;
  color:#fff !important;
}
.bbs-dm-list-item.is-team .bbs-dm-list-av{
  background:#ececec !important;
  padding:0 !important;
  place-items:stretch !important;
}
.bbs-dm-av-mosaic{
  display:grid !important;
  width:100% !important;
  height:100% !important;
  gap:1px !important;
  background:rgba(0,0,0,.1) !important;
  overflow:hidden !important;
}
.bbs-dm-av-mosaic--1{grid-template-columns:1fr !important;grid-template-rows:1fr !important;}
.bbs-dm-av-mosaic--2{grid-template-columns:1fr 1fr !important;grid-template-rows:1fr !important;}
.bbs-dm-av-mosaic--3{
  grid-template-columns:1fr 1fr !important;
  grid-template-rows:1fr 1fr !important;
}
.bbs-dm-av-mosaic--3 .bbs-dm-av-cell:first-child{grid-column:1 / -1 !important;}
.bbs-dm-av-mosaic--4{grid-template-columns:1fr 1fr !important;grid-template-rows:1fr 1fr !important;}
.bbs-dm-av-cell{
  display:grid !important;
  place-items:center !important;
  overflow:hidden !important;
  background:#d8d8d8 !important;
  min-width:0 !important;
  min-height:0 !important;
}
.bbs-dm-av-cell img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  max-width:none !important;
}
.bbs-dm-av-cell--letter{
  color:#333 !important;
  font-size:10px !important;
  font-weight:700 !important;
}
.bbs-dm-list-name{color:#111 !important;font-weight:600 !important}
.bbs-dm-list-preview,
.bbs-dm-list-modal .bbs-dm-list-preview{color:rgba(0,0,0,.48) !important}
.bbs-dm-list-time,
.bbs-dm-list-modal .bbs-dm-list-time{color:rgba(0,0,0,.38) !important}
.bbs-dm-list-badge{
  background:#111 !important;
  box-shadow:none !important;
}
.bbs-dm-list-empty,
.bbs-dm-list-loading,
.bbs-dm-list-modal .bbs-dm-list-empty,
.bbs-dm-list-modal .bbs-dm-list-loading{
  color:rgba(0,0,0,.4) !important;
}
.bbs-dm-list-empty-icon{
  background:rgba(0,0,0,.04) !important;
  border:1px solid rgba(0,0,0,.1) !important;
  color:#111 !important;
  border-radius:12px !important;
}
.bbs-dm-list-empty strong{color:#111 !important}
.bbs-dm-list-empty p{color:rgba(0,0,0,.45) !important}

/* 消息分类切换（须放在 layout-orig，保证覆盖全局 svg/button） */
#bbs-dm-list .bbs-dm-tabs,
.bbs-dm-list .bbs-dm-tabs{
  display:block !important;
  padding:12px 14px 10px !important;
  border-bottom:1px solid rgba(0,0,0,.08) !important;
  background:linear-gradient(180deg,#fafbfc,#f4f6f9) !important;
  position:sticky !important;
  top:0 !important;
  z-index:3 !important;
  box-sizing:border-box !important;
}
#bbs-dm-list .bbs-dm-tabs-track,
.bbs-dm-list .bbs-dm-tabs-track{
  display:flex !important;
  flex-direction:row !important;
  align-items:stretch !important;
  gap:4px !important;
  padding:4px !important;
  border-radius:12px !important;
  background:#e8ebf1 !important;
  border:1px solid #dde2ea !important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.04) !important;
  box-sizing:border-box !important;
}
#bbs-dm-list .bbs-dm-tab,
.bbs-dm-list .bbs-dm-tab{
  appearance:none !important;
  -webkit-appearance:none !important;
  flex:1 1 0 !important;
  min-width:0 !important;
  position:relative !important;
  display:inline-flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
  margin:0 !important;
  border:0 !important;
  border-radius:9px !important;
  background:transparent !important;
  color:#5b6577 !important;
  padding:9px 6px !important;
  min-height:40px !important;
  font-family:var(--font-zh),sans-serif !important;
  font-size:12px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  letter-spacing:.02em !important;
  cursor:pointer !important;
  box-sizing:border-box !important;
  white-space:nowrap !important;
}
#bbs-dm-list .bbs-dm-tab-ico,
.bbs-dm-list .bbs-dm-tab-ico,
#bbs-dm-list .bbs-dm-tab > svg,
.bbs-dm-list .bbs-dm-tab > svg{
  display:block !important;
  width:14px !important;
  height:14px !important;
  max-width:14px !important;
  max-height:14px !important;
  min-width:14px !important;
  min-height:14px !important;
  flex:0 0 14px !important;
  margin:0 !important;
  padding:0 !important;
  opacity:.75 !important;
  overflow:visible !important;
}
#bbs-dm-list .bbs-dm-tab-label,
.bbs-dm-list .bbs-dm-tab-label{
  display:inline-block !important;
  flex:0 1 auto !important;
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  line-height:1.2 !important;
  color:inherit !important;
}
#bbs-dm-list .bbs-dm-tab:hover,
.bbs-dm-list .bbs-dm-tab:hover{
  color:#2f3645 !important;
  background:rgba(255,255,255,.7) !important;
}
#bbs-dm-list .bbs-dm-tab.is-on,
.bbs-dm-list .bbs-dm-tab.is-on{
  background:#111 !important;
  color:#fff !important;
  box-shadow:0 2px 8px rgba(0,0,0,.14) !important;
}
#bbs-dm-list .bbs-dm-tab.is-on .bbs-dm-tab-ico,
.bbs-dm-list .bbs-dm-tab.is-on .bbs-dm-tab-ico,
#bbs-dm-list .bbs-dm-tab.is-on > svg,
.bbs-dm-list .bbs-dm-tab.is-on > svg{
  opacity:1 !important;
}
#bbs-dm-list .bbs-dm-tab-badge,
.bbs-dm-list .bbs-dm-tab-badge{
  display:inline-block !important;
  font-style:normal !important;
  min-width:17px !important;
  height:17px !important;
  padding:0 5px !important;
  border-radius:999px !important;
  background:#e53935 !important;
  color:#fff !important;
  font-size:10px !important;
  font-weight:700 !important;
  line-height:17px !important;
  text-align:center !important;
  flex:0 0 auto !important;
}
#bbs-dm-list .bbs-dm-tab.is-on .bbs-dm-tab-badge,
.bbs-dm-list .bbs-dm-tab.is-on .bbs-dm-tab-badge{
  background:#e0b833 !important;
  color:#111 !important;
}
@media (max-width:420px){
  #bbs-dm-list .bbs-dm-tab,
  .bbs-dm-list .bbs-dm-tab{
    padding:8px 4px !important;
    gap:3px !important;
    font-size:11px !important;
  }
  #bbs-dm-list .bbs-dm-tab-label,
  .bbs-dm-list .bbs-dm-tab-label{
    letter-spacing:0 !important;
  }
}

/* ????? */
.bbs-dm-messages{
  background:
    linear-gradient(180deg,#f7f7f8 0%,#fafafa 40%,#fff 100%) !important;
  scrollbar-color:rgba(0,0,0,.2) transparent !important;
  gap:12px !important;
  padding:20px 16px 16px 20px !important;
}
.bbs-dm-empty{
  color:rgba(0,0,0,.45) !important;
}
.bbs-dm-empty::before{
  content:"\25C7" !important;
  color:#111 !important;
  opacity:.55 !important;
  font-size:22px !important;
}
.bbs-dm-bubble{
  background:#fff !important;
  border:1px solid rgba(0,0,0,.08) !important;
  color:#111 !important;
  border-radius:4px 14px 14px 14px !important;
  box-shadow:0 2px 8px rgba(0,0,0,.04) !important;
  padding:10px 13px !important;
  font-size:14px !important;
  line-height:1.6 !important;
}
.bbs-dm-msg.mine .bbs-dm-bubble{
  background:#111 !important;
  border-color:#111 !important;
  color:#fff !important;
  border-radius:14px 4px 14px 14px !important;
  box-shadow:0 4px 14px rgba(0,0,0,.12) !important;
}
.bbs-dm-time{
  color:rgba(0,0,0,.35) !important;
}

/* ?????? */
.bbs-dm-input-bar{
  background:#fff !important;
  border-top:1px solid rgba(0,0,0,.08) !important;
  padding:14px 14px 16px 16px !important;
  gap:10px !important;
}
.bbs-dm-input{
  background:#f5f5f5 !important;
  border:1px solid rgba(0,0,0,.1) !important;
  border-radius:12px !important;
  color:#111 !important;
  padding:12px 14px !important;
  min-height:48px !important;
}
.bbs-dm-input:focus{
  background:#fff !important;
  border-color:rgba(0,0,0,.28) !important;
  box-shadow:0 0 0 3px rgba(0,0,0,.05) !important;
}
.bbs-dm-input::placeholder{color:rgba(0,0,0,.35) !important}
.bbs-dm-send-btn{
  background:#111 !important;
  border:1px solid #111 !important;
  border-radius:12px !important;
  color:#fff !important;
  box-shadow:0 2px 8px rgba(0,0,0,.12) !important;
  padding:12px 18px !important;
  letter-spacing:.08em !important;
}
.bbs-dm-send-btn:hover:not(:disabled){
  background:#333 !important;
  border-color:#333 !important;
  filter:none !important;
  box-shadow:0 4px 12px rgba(0,0,0,.16) !important;
}
.bbs-dm-send-btn:disabled{
  background:#e5e5e5 !important;
  border-color:#e5e5e5 !important;
  color:rgba(0,0,0,.35) !important;
  box-shadow:none !important;
}

@media (max-width:760px){
  .bbs-dm-inbox-overlay,
  .bbs-dm-overlay{padding:0 !important}
  .bbs-dm-inbox-panel,
  .bbs-dm-panel{
    max-width:100% !important;
    max-height:100vh !important;
    height:100% !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }
}

/* FAB 栈：发帖 + 上方私聊 GM（避开手机 dock-nav） */
.mobile-fab-stack{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  position:fixed;
  left:auto;
  right:max(28px, calc(env(safe-area-inset-right) + 12px));
  bottom:max(24px, env(safe-area-inset-bottom));
  z-index:95;
}
.mobile-fab-btn{
  display:grid;
  position:relative;
  width:56px;height:56px;border-radius:50%;
  background:#111;border:1px solid #111;color:#fff;
  place-items:center;cursor:pointer;
  box-shadow:0 6px 20px rgba(0,0,0,.2);
  transition:transform .18s, box-shadow .18s, background .15s, border-color .15s, color .15s;
  padding:0;margin:0;flex-shrink:0;
}
.mobile-fab-btn:hover{
  background:#222;border-color:#222;
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(0,0,0,.24);
}
.mobile-fab-btn:active{transform:translateY(0);}
.mobile-fab-btn svg{width:22px;height:22px;display:block}
.mobile-fab-dm-btn{
  width:42px;height:42px;
  background:rgba(255,255,255,.55) !important;
  border-color:rgba(17,17,17,.28) !important;
  color:rgba(17,17,17,.72) !important;
  box-shadow:0 4px 14px rgba(0,0,0,.1) !important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.mobile-fab-dm-btn svg{width:18px;height:18px}
.mobile-fab-dm-btn:hover{
  background:rgba(255,255,255,.82) !important;
  border-color:rgba(17,17,17,.45) !important;
  color:rgba(17,17,17,.9) !important;
  box-shadow:0 6px 16px rgba(0,0,0,.14) !important;
}
.mobile-fab-dm-wrap{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}
.mobile-fab-dm-tip{
  position:absolute;
  right:calc(100% + 10px);
  top:50%;
  transform:translateY(-50%) translateX(8px) scale(.96);
  white-space:nowrap;
  padding:8px 12px;
  border-radius:10px;
  background:rgba(17,17,17,.88);
  color:#fff;
  font-family:var(--font-zh, "PingFang SC","Microsoft YaHei",sans-serif);
  font-size:12.5px;
  line-height:1.35;
  letter-spacing:.02em;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transition:opacity .28s ease, transform .28s ease, visibility .28s;
  z-index:2;
}
.mobile-fab-dm-tip::after{
  content:"";
  position:absolute;
  right:-5px;
  top:50%;
  width:10px;height:10px;
  background:rgba(17,17,17,.88);
  transform:translateY(-50%) rotate(45deg);
  border-radius:1px;
}
.mobile-fab-dm-tip.is-show{
  opacity:1;
  visibility:visible;
  transform:translateY(-50%) translateX(0) scale(1);
}
.mobile-fab-dm-tip.is-hide{
  opacity:0;
  visibility:hidden;
  transform:translateY(-50%) translateX(6px) scale(.96);
}
@media (max-width:768px){
  .mobile-fab-stack{
    right:max(28px, calc(env(safe-area-inset-right) + 16px));
    bottom:calc(74px + env(safe-area-inset-bottom, 0px));
  }
  .mobile-fab-btn{
    display:grid;
    width:52px;height:52px;
  }
  .mobile-fab-btn svg{width:20px;height:20px}
  .mobile-fab-dm-btn{
    width:40px;height:40px;
  }
  .mobile-fab-dm-btn svg{width:17px;height:17px}
  .mobile-fab-dm-tip{
    font-size:12px;
    padding:7px 10px;
  }
}

/* ???????????? + ??? */
.plaza-note-card,
.plaza-note-card{
  border:1px solid #111 !important;
  border-radius:8px !important;
  box-shadow:none;
  display:inline-block !important;
  width:100% !important;
  margin:0 0 16px !important;
  break-inside:avoid !important;
  -webkit-column-break-inside:avoid !important;
  page-break-inside:avoid !important;
}
.plaza-note-card:hover:not(.has-gm-reply),
.plaza-note-card:hover:not(.has-gm-reply){
  border-color:#111 !important;
  box-shadow:0 4px 14px rgba(0,0,0,.06);
}
.plaza-note-card.has-gm-reply,
.plaza-note-card.has-gm-reply{
  border-color:var(--gm-drop-border, rgba(212,160,23,.45)) !important;
  box-shadow:0 0 0 1px var(--gm-drop-shadow, rgba(212,160,23,.14)) !important;
}
.plaza-note-card.has-gm-reply:hover,
.plaza-note-card.has-gm-reply:hover{
  border-color:var(--gm-drop-border-hover, rgba(212,160,23,.7)) !important;
  box-shadow:0 4px 18px var(--gm-drop-shadow-hover, rgba(212,160,23,.22)) !important;
}

/* ????????????????????????? */
.plaza-note-card{position:relative !important;overflow:clip !important;overflow-clip-margin:10px !important;}
.plaza-note-card::after{
  content:"";
  position:absolute;
  z-index:6;
  width:18px;height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,
    rgba(17,17,17,0) 0%,
    rgba(17,17,17,.22) 35%,
    rgba(17,17,17,.7) 70%,
    #111 100%
  );
  box-shadow:0 0 0 0.5px rgba(17,17,17,.15);
  opacity:0;
  pointer-events:none;
  offset-path:inset(0 round 14px);
  offset-distance:0%;
  offset-rotate:auto;
  offset-anchor:100% 50%;
  will-change:offset-distance,opacity;
}
.plaza-note-card.has-gm-reply::after{
  background:linear-gradient(90deg,
    transparent 0%,
    var(--gm-drop-shadow, rgba(212,160,23,.14)) 35%,
    var(--gm-drop-border-hover, rgba(212,160,23,.7)) 70%,
    var(--gm-drop-color, #d4a017) 100%
  );
  box-shadow:0 0 0 0.5px var(--gm-drop-shadow, rgba(212,160,23,.15));
}
@keyframes plazaCardFlow{
  0%{offset-distance:0%;opacity:0;}
  8%{opacity:1;}
  88%{opacity:1;}
  100%{offset-distance:100%;opacity:0;}
}
@media (hover:hover) and (pointer:fine){
  .plaza-note-card:hover::after{
    opacity:0;
    animation:plazaCardFlow 1.6s linear 1 forwards;
  }
}
.plaza-note-card:active::after{
  opacity:0;
  animation:plazaCardFlow 1.6s linear 1 forwards;
}
@media (prefers-reduced-motion:reduce){
  .plaza-note-card::after{display:none !important;}
}

@media (min-width:1400px){
  .plaza-feed-grid:not(.is-waterfall),
  #bbsFeedGrid:not(.is-waterfall),
  .community-guide-feed:not(.is-waterfall):not(.plaza-question-feed){
    grid-template-columns:repeat(3, minmax(0, 1fr))!important;
  }
}

/* ???? BUG ??????????? 20260717bug1 ???? */
.bug-feed-banner{
  display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:wrap!important;
  gap:14px 20px!important;margin:0 0 16px!important;padding:16px 18px!important;
  background:radial-gradient(ellipse 70% 120% at 0% 0%, rgba(0,0,0,.04), transparent 55%),linear-gradient(180deg,#f7f7f7 0%,#fff 100%)!important;
  border:1px solid #111!important;border-radius:14px!important;box-shadow:0 3px 0 rgba(0,0,0,.12)!important;
}
.bfb-head{display:flex!important;flex-direction:column!important;gap:6px!important;min-width:0!important;flex:1 1 240px!important}
.bfb-eyebrow{display:inline-flex!important;align-items:center!important;gap:8px!important;font-family:var(--font-code)!important;font-size:10px!important;font-weight:700!important;letter-spacing:.16em!important;color:rgba(0,0,0,.45)!important;text-transform:uppercase!important}
.bfb-dot{width:7px!important;height:7px!important;border-radius:50%!important;background:#111!important;flex-shrink:0!important}
.bfb-title{margin:0!important;font-family:var(--font-zh)!important;font-size:20px!important;font-weight:800!important;color:#111!important;letter-spacing:.02em!important;line-height:1.2!important}
.bfb-lead{margin:0!important;font-family:var(--font-zh)!important;font-size:13px!important;line-height:1.6!important;color:rgba(0,0,0,.52)!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important}
.bfb-meta{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:8px!important}
.bfb-chip{display:inline-flex!important;align-items:center!important;gap:4px!important;padding:6px 12px!important;border:1px solid #111!important;border-radius:999px!important;background:#fff!important;font-family:var(--font-zh)!important;font-size:12.5px!important;color:rgba(0,0,0,.55)!important}
.bfb-chip strong{color:#111!important;font-weight:800!important}
.bfb-cta{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:36px!important;padding:0 16px!important;border:1px solid #111!important;border-radius:10px!important;background:#111!important;color:#fff!important;font-family:var(--font-zh)!important;font-size:13px!important;font-weight:700!important;cursor:pointer!important;box-shadow:0 3px 0 rgba(0,0,0,.2)!important}
.bfb-cta:hover{background:#222!important;transform:translateY(-1px)!important;box-shadow:0 4px 0 rgba(0,0,0,.24)!important}

.plaza-feed-grid > .plaza-question,
#bbsFeedGrid > .plaza-question,
.community-guide-feed > .plaza-question,
.bug-guide-feed > .plaza-question{
  display:grid!important;
  grid-template-columns:84px minmax(0,1fr)!important;
  background:#fff!important;border:1px solid #111!important;border-radius:12px!important;
  overflow:hidden!important;box-shadow:none!important;
  transition:border-color .18s,box-shadow .18s,transform .18s!important;
}
.plaza-question:hover{
  box-shadow:0 6px 18px rgba(0,0,0,.07)!important;transform:translateY(-1px)!important;
}
.askq-vote{
  border-right:1px solid rgba(0,0,0,.1)!important;
  background:linear-gradient(180deg,#f6f6f6 0%,#fafafa 100%)!important;
  gap:6px!important;padding:18px 10px!important;
}
.askq-vote strong{font-size:24px!important;color:#111!important;font-weight:800!important}
.askq-vote span{color:rgba(0,0,0,.45)!important;font-weight:600!important}
.askq-main{padding:16px 18px 14px!important;gap:10px!important}
.askq-shot{border:1px solid rgba(0,0,0,.1)!important;border-radius:8px!important;background:#f5f5f5!important}
.askq-shot img{filter:none!important}
.askq-top{gap:6px!important;justify-content:flex-start!important}
.qcode{font-size:10px!important;font-weight:700!important;color:rgba(0,0,0,.42)!important;letter-spacing:.06em!important}
.qstate,.qseverity,.askq-top .qpri{
  display:inline-flex!important;align-items:center!important;
  border:1px solid rgba(0,0,0,.14)!important;border-radius:6px!important;
  padding:3px 8px!important;font-size:10px!important;font-weight:700!important;
  letter-spacing:.06em!important;background:#fff!important;color:#333!important;
}
.qstate.wai{color:#111!important;border-color:#111!important;background:#fff!important}
.qstate.wf,.qstate.dup{color:rgba(0,0,0,.45)!important;border-color:rgba(0,0,0,.18)!important;background:#f7f7f7!important}
.qstate.ack{color:#15803d!important;border-color:rgba(22,163,74,.35)!important;background:rgba(22,163,74,.08)!important}
.qseverity{color:#111!important}
.qseverity[data-sev="CRITICAL"]{color:#b91c1c!important;border-color:rgba(185,28,28,.35)!important;background:rgba(185,28,28,.06)!important}
.qseverity[data-sev="MAJOR"]{color:#c2410c!important;border-color:rgba(194,65,12,.3)!important;background:rgba(194,65,12,.06)!important}
.qpri[data-priority="P0"]{color:#b91c1c!important;border-color:rgba(185,28,28,.35)!important;background:rgba(185,28,28,.06)!important}
.qpri[data-priority="P1"]{color:#c2410c!important;border-color:rgba(194,65,12,.3)!important;background:rgba(194,65,12,.06)!important}
.qpri[data-priority="P2"]{color:#111!important}
.qpri[data-priority="P3"]{color:rgba(0,0,0,.45)!important}
.qpri-btn{
  cursor:pointer!important;font-family:var(--font-zh)!important;font-size:12px!important;font-weight:700!important;
  color:#fff!important;letter-spacing:.02em!important;border:1px solid #111!important;background:#111!important;
  padding:6px 12px!important;display:inline-flex!important;align-items:center!important;border-radius:8px!important;
  box-shadow:0 2px 0 rgba(0,0,0,.18)!important;margin-left:0!important;
}
.qpri-btn:hover{background:#222!important;border-color:#222!important}
.qpri-vote{
  cursor:pointer!important;font-family:var(--font-zh)!important;font-size:12px!important;font-weight:700!important;
  color:#111!important;letter-spacing:.02em!important;border:1px solid #111!important;background:#fff!important;
  padding:6px 12px!important;display:inline-flex!important;align-items:center!important;border-radius:8px!important;margin-left:auto!important;
}
.qpri-vote:hover{background:#f5f5f5!important;color:#111!important;border-color:#111!important}
.qpri-vote.qpri-voted{color:rgba(0,0,0,.4)!important;border-color:rgba(0,0,0,.16)!important;background:#f7f7f7!important;cursor:default!important}
.askq-reply{
  border:1px solid rgba(0,0,0,.1)!important;border-left:3px solid #111!important;border-radius:8px!important;
  background:#fafafa!important;padding:10px 12px!important;
}
.askq-reply span{color:rgba(0,0,0,.45)!important;font-weight:700!important;letter-spacing:.1em!important}
.askq-reply-gm{border-left-color:#15803d!important;background:rgba(22,163,74,.05)!important}
.askq-reply-gm span{color:#15803d!important}
.askq-reply-pending p{color:rgba(0,0,0,.48)!important}
.askq-actions{
  display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:8px!important;
  border-top:1px solid rgba(0,0,0,.08)!important;padding-top:12px!important;margin-top:2px!important;
  justify-content:flex-start!important;
}
.askq-actions .askq-author,
.askq-actions .askq-discuss{
  font-family:var(--font-zh)!important;font-size:12px!important;color:rgba(0,0,0,.45)!important;letter-spacing:0!important;
}
.plaza-question h3{font-size:16px!important;font-weight:700!important;color:#111!important}
.plaza-question p{font-size:13.5px!important;color:rgba(0,0,0,.55)!important}

@media (max-width:640px){
  .plaza-feed-grid > .plaza-question,
  #bbsFeedGrid > .plaza-question,
  .community-guide-feed > .plaza-question,
  .bug-guide-feed > .plaza-question{grid-template-columns:1fr!important}
  .askq-vote{border-right:0!important;border-bottom:1px solid rgba(0,0,0,.1)!important;flex-direction:row!important;justify-content:flex-start!important;padding:12px 14px!important;gap:10px!important}
  .askq-main{padding:14px!important}
  .askq-actions .qpri-vote{margin-left:0!important}
  .bug-feed-banner{padding:14px!important;border-radius:12px!important}
  .bfb-title{font-size:18px!important}
  .bfb-lead{white-space:normal!important;max-width:100%!important;overflow-wrap:anywhere!important;word-break:break-word!important}
  .bfb-head{flex:1 1 100%!important;min-width:0!important;max-width:100%!important}
  .bfb-meta{width:100%!important}
  .bfb-cta{flex:1!important;justify-content:center!important}
}
/* ?? BUG ???? 20260717bug2 ?? */
#bugDetailModal.bug-detail-modal,
.bug-detail-modal{
  position:fixed!important;inset:0!important;z-index:1001!important;
  display:none;align-items:center!important;justify-content:center!important;
  padding:20px 16px!important;box-sizing:border-box!important;
  background:rgba(0,0,0,.55)!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;
  overflow-y:auto!important;
}
#bugDetailModal.bug-detail-modal[style*="display:flex"],
#bugDetailModal.bug-detail-modal[style*="display: flex"],
.bug-detail-modal[style*="display:flex"],
.bug-detail-modal[style*="display: flex"],
.bug-detail-modal.is-open{display:flex!important;}

.bug-detail-panel{
  width:min(640px,100%)!important;margin:auto!important;
  background:#fff!important;color:#111!important;
  border:1px solid #111!important;border-radius:16px!important;
  overflow:hidden!important;
  box-shadow:0 24px 56px rgba(0,0,0,.18)!important;
}

.bug-detail-head{
  display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;
  padding:20px 22px 16px!important;
  background:radial-gradient(ellipse 80% 100% at 0% 0%, rgba(0,0,0,.035), transparent 55%),linear-gradient(180deg,#f6f6f6 0%,#fff 100%)!important;
  border-bottom:1px solid rgba(0,0,0,.08)!important;
}
.bug-detail-head-copy{display:flex!important;flex-direction:column!important;gap:6px!important;min-width:0!important}
.bug-detail-eyebrow{
  font-family:var(--font-code)!important;font-size:10px!important;font-weight:700!important;
  letter-spacing:.16em!important;color:rgba(0,0,0,.45)!important;text-transform:uppercase!important;
}
.bug-detail-title{
  margin:0!important;font-family:var(--font-zh)!important;font-size:20px!important;font-weight:800!important;
  color:#111!important;letter-spacing:.02em!important;line-height:1.25!important;
}
.bug-detail-close{
  width:36px!important;height:36px!important;flex-shrink:0!important;
  border:1px solid rgba(0,0,0,.12)!important;border-radius:999px!important;
  background:#fff!important;color:#333!important;font-size:22px!important;line-height:1!important;
  cursor:pointer!important;display:inline-grid!important;place-items:center!important;padding:0!important;
}
.bug-detail-close:hover{border-color:#111!important;color:#111!important;background:#f7f7f7!important}

.bug-detail-content{padding:18px 22px!important;border-bottom:1px solid rgba(0,0,0,.08)!important}
.bdc-loading{text-align:center!important;color:rgba(0,0,0,.45)!important;font-size:13px!important;padding:12px 0!important}
.bdc-meta{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:6px!important;margin-bottom:12px!important}
.bdc-id{font-family:var(--font-code)!important;font-size:10px!important;font-weight:700!important;color:rgba(0,0,0,.42)!important;letter-spacing:.06em!important}
.bdc-title{margin:0 0 10px!important;font-family:var(--font-zh)!important;font-size:17px!important;font-weight:800!important;color:#111!important;line-height:1.4!important}
.bdc-body{font-family:var(--font-zh)!important;font-size:14px!important;color:#333!important;line-height:1.8!important;white-space:pre-wrap!important;margin-bottom:14px!important}
.bdc-foot{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:8px!important}
.bdc-author{font-family:var(--font-zh)!important;font-size:13px!important;font-weight:700!important;color:#111!important}
.bdc-time{font-family:var(--font-code)!important;font-size:11px!important;color:rgba(0,0,0,.42)!important}
.bdc-votes{margin-left:auto!important;font-family:var(--font-code)!important;font-size:11px!important;font-weight:700!important;color:#15803d!important}
.bdc-gm{margin-top:14px!important}

.bug-detail-supplements{padding:16px 22px!important;border-bottom:1px solid rgba(0,0,0,.08)!important}
.bug-detail-sec-label{
  display:block!important;margin:0 0 10px!important;
  font-family:var(--font-code)!important;font-size:10px!important;font-weight:700!important;
  letter-spacing:.12em!important;color:rgba(0,0,0,.45)!important;text-transform:uppercase!important;
}
.bug-detail-sec-label em{font-style:normal!important;color:#111!important}
.bug-detail-count{color:#111!important}
.bug-supplement-list{max-height:220px!important;overflow-y:auto!important}
.bug-supplement-empty{text-align:center!important;color:rgba(0,0,0,.4)!important;font-size:13px!important;padding:18px 0!important}
.bug-supplement-item{
  padding:12px!important;margin-bottom:8px!important;
  background:#fafafa!important;border:1px solid rgba(0,0,0,.1)!important;border-radius:12px!important;
}
.bug-supplement-item:last-child{margin-bottom:0!important}
.bug-supplement-meta{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:6px!important;margin-bottom:6px!important}
.bug-supplement-name{font-family:var(--font-zh)!important;font-size:12.5px!important;font-weight:700!important;color:#111!important}
.bug-supplement-uid{font-family:var(--font-code)!important;font-size:10px!important;color:rgba(0,0,0,.4)!important}
.bug-supplement-time{margin-left:auto!important;font-family:var(--font-code)!important;font-size:10px!important;color:rgba(0,0,0,.4)!important}
.bug-supplement-body{font-family:var(--font-zh)!important;font-size:13px!important;color:#333!important;line-height:1.65!important;white-space:pre-wrap!important}

.bug-supplement-form{padding:16px 22px 20px!important}
.bug-supplement-form textarea{
  width:100%!important;box-sizing:border-box!important;min-height:88px!important;
  padding:12px 14px!important;margin:0 0 12px!important;
  border:1px solid rgba(0,0,0,.14)!important;border-radius:12px!important;
  background:#fff!important;color:#111!important;
  font-family:var(--font-zh)!important;font-size:13.5px!important;line-height:1.7!important;
  outline:none!important;resize:vertical!important;
}
.bug-supplement-form textarea:focus{border-color:#111!important;box-shadow:0 0 0 3px rgba(0,0,0,.08)!important}
.bug-supplement-actions{display:flex!important;justify-content:flex-end!important}
.bug-supplement-submit{
  min-height:42px!important;padding:0 20px!important;
  border:1px solid #111!important;border-radius:999px!important;
  background:#111!important;color:#fff!important;
  font-family:var(--font-zh)!important;font-size:13px!important;font-weight:700!important;
  cursor:pointer!important;box-shadow:0 3px 0 rgba(0,0,0,.18)!important;
}
.bug-supplement-submit:hover{background:#222!important;border-color:#222!important}

@media (max-width:560px){
  .bug-detail-panel{border-radius:14px!important}
  .bug-detail-head{padding:16px!important}
  .bug-detail-content,.bug-detail-supplements,.bug-supplement-form{padding-left:16px!important;padding-right:16px!important}
  .bug-detail-title{font-size:18px!important}
  .bug-supplement-submit{width:100%!important;justify-content:center!important}
}

/* ?? ?? BUG ???? 20260717bugpost1 ?? */
#bugPostModal.bug-post-modal,
.bug-post-modal{
  position:fixed!important;inset:0!important;z-index:1000!important;
  display:none;align-items:center!important;justify-content:center!important;
  padding:20px 16px!important;box-sizing:border-box!important;
  background:rgba(0,0,0,.55)!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;
  overflow-y:auto!important;
}
#bugPostModal.bug-post-modal[style*="display:flex"],
#bugPostModal.bug-post-modal[style*="display: flex"],
.bug-post-modal[style*="display:flex"],
.bug-post-modal[style*="display: flex"],
.bug-post-modal.is-open{display:flex!important;}

.bug-post-panel{
  width:min(640px,100%)!important;margin:auto!important;
  background:#fff!important;color:#111!important;
  border:1px solid #111!important;border-radius:16px!important;
  overflow:hidden!important;
  box-shadow:0 24px 56px rgba(0,0,0,.18)!important;
}

/* ID 兜底：即使未挂 class 也强制圆角 */
#bugPostModal > div,
#bugDetailModal > div{
  border-radius:16px!important;
  overflow:hidden!important;
}
@media (max-width:560px){
  #bugPostModal > div,
  #bugDetailModal > div{
    border-radius:14px!important;
  }
}

.bug-post-head{
  display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;
  padding:20px 22px 16px!important;
  background:radial-gradient(ellipse 80% 100% at 0% 0%, rgba(0,0,0,.035), transparent 55%),linear-gradient(180deg,#f6f6f6 0%,#fff 100%)!important;
  border-bottom:1px solid rgba(0,0,0,.08)!important;
}
.bug-post-head-copy{display:flex!important;flex-direction:column!important;gap:6px!important;min-width:0!important}
.bug-post-eyebrow{
  font-family:var(--font-code)!important;font-size:10px!important;font-weight:700!important;
  letter-spacing:.16em!important;color:rgba(0,0,0,.45)!important;text-transform:uppercase!important;
}
.bug-post-title{
  margin:0!important;font-family:var(--font-zh)!important;font-size:20px!important;font-weight:800!important;
  color:#111!important;letter-spacing:.02em!important;line-height:1.25!important;
}
.bug-post-lead{
  margin:0!important;font-family:var(--font-zh)!important;font-size:13px!important;
  color:rgba(0,0,0,.5)!important;line-height:1.5!important;
}
.bug-post-close{
  width:36px!important;height:36px!important;flex-shrink:0!important;
  border:1px solid rgba(0,0,0,.12)!important;border-radius:999px!important;
  background:#fff!important;color:#333!important;font-size:22px!important;line-height:1!important;
  cursor:pointer!important;display:inline-grid!important;place-items:center!important;padding:0!important;
}
.bug-post-close:hover{border-color:#111!important;color:#111!important;background:#f7f7f7!important}

.bug-post-draft{
  display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:8px!important;
  padding:12px 22px!important;border-bottom:1px solid rgba(0,0,0,.08)!important;background:#fafafa!important;
}
.bug-draft-id{
  font-family:var(--font-code)!important;font-size:11px!important;font-weight:700!important;
  color:rgba(0,0,0,.45)!important;letter-spacing:.04em!important;
}
.bug-draft-status,
.bug-draft-sev{
  display:inline-flex!important;align-items:center!important;
  padding:3px 8px!important;border:1px solid rgba(0,0,0,.14)!important;border-radius:6px!important;
  font-family:var(--font-code)!important;font-size:10px!important;font-weight:700!important;
  letter-spacing:.06em!important;background:#fff!important;color:#111!important;
}
.bug-draft-status{border-color:#111!important}
.bug-draft-tag{
  margin-left:auto!important;font-family:var(--font-zh)!important;font-size:12px!important;color:rgba(0,0,0,.42)!important;
}

.bug-post-form{padding:18px 22px 20px!important}
.bug-field{margin-bottom:16px!important}
.bug-field-label{
  display:block!important;margin:0 0 8px!important;
  font-family:var(--font-code)!important;font-size:10px!important;font-weight:700!important;
  letter-spacing:.12em!important;color:rgba(0,0,0,.45)!important;text-transform:uppercase!important;
}
.bug-field-label em{font-style:normal!important;color:#111!important}
.bug-field-input,
.bug-field-textarea{
  width:100%!important;box-sizing:border-box!important;
  padding:12px 14px!important;
  border:1px solid rgba(0,0,0,.14)!important;border-radius:12px!important;
  background:#fff!important;color:#111!important;
  font-family:var(--font-zh)!important;font-size:14px!important;line-height:1.6!important;
  outline:none!important;transition:border-color .15s,box-shadow .15s!important;
}
.bug-field-textarea{min-height:100px!important;resize:vertical!important;font-size:13.5px!important;line-height:1.7!important}
.bug-field-input:focus,
.bug-field-textarea:focus{border-color:#111!important;box-shadow:0 0 0 3px rgba(0,0,0,.08)!important}
.bug-field-foot{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-top:6px!important;gap:8px!important}
.bug-field-warn{font-family:var(--font-zh)!important;font-size:11px!important;color:#dc2626!important}
.bug-field-count{margin-left:auto!important;font-family:var(--font-code)!important;font-size:11px!important;color:rgba(0,0,0,.4)!important;letter-spacing:.06em!important}

.bug-severity-pills,
.bug-priority-pills{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
.bug-sev-pill,
.bug-pri-pill{
  position:relative!important;cursor:pointer!important;user-select:none!important;
  display:inline-flex!important;flex-direction:column!important;gap:2px!important;
  min-width:72px!important;padding:10px 12px!important;
  border:1px solid rgba(0,0,0,.14)!important;border-radius:10px!important;
  background:#fff!important;color:rgba(0,0,0,.5)!important;
  font-family:var(--font-code)!important;font-size:10px!important;letter-spacing:.06em!important;
  transition:border-color .15s,background .15s,color .15s,box-shadow .15s!important;
}
.bug-sev-pill input,
.bug-pri-pill input{position:absolute!important;opacity:0!important;pointer-events:none!important;width:0!important;height:0!important}
.bug-pill-k{font-weight:700!important;color:inherit!important}
.bug-pill-v{font-family:var(--font-zh)!important;font-size:11px!important;font-weight:500!important;letter-spacing:0!important;color:rgba(0,0,0,.42)!important}
.bug-sev-pill:hover,
.bug-pri-pill:hover{border-color:#111!important;background:#fafafa!important;color:#111!important}
.bug-sev-pill:has(input:checked),
.bug-pri-pill:has(input:checked){
  border-color:#111!important;background:#111!important;color:#fff!important;
  box-shadow:0 3px 0 rgba(0,0,0,.2)!important;
}
.bug-sev-pill:has(input:checked) .bug-pill-v,
.bug-pri-pill:has(input:checked) .bug-pill-v{color:rgba(255,255,255,.7)!important}
.bug-sev-pill:has(input:checked) span,
.bug-pri-pill:has(input:checked) span{color:inherit!important}

.bug-post-tip{
  margin:0 0 16px!important;padding:12px 14px!important;
  border:1px solid rgba(0,0,0,.1)!important;border-left:3px solid #111!important;border-radius:10px!important;
  background:#fafafa!important;
}
.bug-post-tip-k{
  display:block!important;margin-bottom:4px!important;
  font-family:var(--font-code)!important;font-size:10px!important;font-weight:700!important;
  letter-spacing:.12em!important;color:rgba(0,0,0,.45)!important;text-transform:uppercase!important;
}
.bug-post-tip p{margin:0!important;font-family:var(--font-zh)!important;font-size:12.5px!important;color:#333!important;line-height:1.65!important}

#bbs-gm-persona-bar-bug{
  border:1px solid rgba(0,0,0,.1)!important;border-radius:12px!important;background:#fafafa!important;margin-bottom:14px!important;
}

.bug-post-actions{
  display:flex!important;justify-content:flex-end!important;gap:10px!important;flex-wrap:wrap!important;
  padding-top:14px!important;border-top:1px solid rgba(0,0,0,.08)!important;
}
.bug-post-btn{
  min-height:42px!important;padding:0 18px!important;
  border-radius:999px!important;font-family:var(--font-zh)!important;font-size:13px!important;font-weight:700!important;
  cursor:pointer!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  transition:background .15s,border-color .15s,transform .15s,box-shadow .15s!important;
}
.bug-post-btn.ghost{
  background:#fff!important;border:1px solid rgba(0,0,0,.18)!important;color:#333!important;box-shadow:none!important;
}
.bug-post-btn.ghost:hover{border-color:#111!important;color:#111!important;background:#f7f7f7!important}
.bug-post-btn.primary{
  background:#111!important;border:1px solid #111!important;color:#fff!important;
  box-shadow:0 3px 0 rgba(0,0,0,.18)!important;
}
.bug-post-btn.primary:hover{background:#222!important;border-color:#222!important;transform:translateY(-1px)!important;box-shadow:0 4px 0 rgba(0,0,0,.2)!important}

@media (max-width:560px){
  .bug-post-panel{border-radius:14px!important}
  .bug-post-head,.bug-post-draft{padding-left:16px!important;padding-right:16px!important}
  .bug-post-form{padding:16px!important}
  .bug-post-title{font-size:18px!important}
  .bug-sev-pill,.bug-pri-pill{min-width:calc(50% - 4px)!important;flex:1 1 calc(50% - 4px)!important}
  .bug-post-actions{flex-direction:column-reverse!important}
  .bug-post-btn{width:100%!important}
}

/* ?? ???????? 20260717left1 ?? */
.plaza-left .plaza-side-block,
.plaza-left .community-side-pingdao{
  border:1px solid #111!important;
  border-radius:8px!important;
  padding:14px 16px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.plaza-left .plaza-side-block.community-side-quick{
  padding:12px 14px!important;
}

/* ?? BBS ???????? + ????20260717sidebar1 ?? */

/* ?????? */
.plaza-left .plaza-profile-mini{
  border:1px solid #111!important;
  border-radius:12px!important;
  background:#fff!important;
  padding:18px 16px!important;
  box-shadow:0 3px 0 rgba(0,0,0,.08)!important;
  gap:14px!important;
}
.plaza-left .community-profile-character{
  width:112px!important;height:112px!important;
  border:1px solid rgba(0,0,0,.12)!important;
  border-radius:12px!important;
  overflow:hidden!important;
  background:#f7f7f7!important;
}
.plaza-left .community-profile-character .avatar{
  width:100%!important;height:100%!important;
  border:0!important;
  border-radius:0!important;
  background:#f0f0f0!important;
  color:#111!important;
  font-size:34px!important;
}
.plaza-left .community-profile-info strong{
  font-family:var(--font-zh)!important;
  font-size:16px!important;font-weight:800!important;color:#111!important;
}
.plaza-left .community-profile-info em,
.plaza-left .plaza-profile-mini em{
  color:rgba(0,0,0,.42)!important;margin-top:4px!important;
}
.plaza-left .community-exp-block{
  border-top:1px solid rgba(0,0,0,.1)!important;
  padding-top:12px!important;
}
.plaza-left .community-level-tag{
  font-weight:700!important;color:#111!important;
}
.plaza-left .bbs-lv-icon.community-level-tag{
  color:inherit!important;font-weight:inherit!important;
}
.plaza-left .community-title-tag{
  color:#111!important;
  border:1px solid #111!important;
  background:#fff!important;
  border-radius:999px!important;
  padding:3px 9px!important;
  font-weight:600!important;
}
/* 等级称号：彩色扫光（跟称号字色；左侧栏不加） */
.bbs-comment-level,
.bbs-detail-shell .bbs-comment-level,
.user-title-tag{
  position:relative !important;
  overflow:hidden !important;
}
.bbs-comment-level::before,
.bbs-detail-shell .bbs-comment-level::before,
.user-title-tag::before{
  content:none !important;
  display:none !important;
}
.bbs-comment-level::after,
.bbs-detail-shell .bbs-comment-level::after,
.user-title-tag::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  top:-10% !important;
  left:0 !important;
  width:40% !important;
  height:120% !important;
  pointer-events:none !important;
  z-index:3 !important;
  border:0 !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:linear-gradient(100deg,
    transparent 0%,
    color-mix(in srgb, currentColor 0%, transparent) 20%,
    color-mix(in srgb, currentColor 55%, transparent) 45%,
    color-mix(in srgb, currentColor 85%, #fff) 50%,
    color-mix(in srgb, currentColor 55%, transparent) 55%,
    color-mix(in srgb, currentColor 0%, transparent) 80%,
    transparent 100%) !important;
  opacity:.85;
  transform:translateX(-180%) skewX(-20deg);
  animation:bbs-title-shine 3.6s ease-in-out infinite;
}
/* 左侧栏称号：明确关闭扫光 */
.community-title-tag::before,
.plaza-left .community-title-tag::before,
.bbs-left-title::before,
.bbs-detail-left .bbs-left-title::before,
.community-title-tag::after,
.plaza-left .community-title-tag::after,
.bbs-left-title::after,
.bbs-detail-left .bbs-left-title::after{
  content:none !important;
  display:none !important;
  animation:none !important;
}
@keyframes bbs-title-shine{
  0%,25%{transform:translateX(-180%) skewX(-20deg);opacity:.35;}
  50%{opacity:.9;}
  60%{transform:translateX(280%) skewX(-20deg);opacity:.9;}
  100%{transform:translateX(280%) skewX(-20deg);opacity:.35;}
}
@media (prefers-reduced-motion:reduce){
  .bbs-comment-level::after,
  .bbs-detail-shell .bbs-comment-level::after,
  .user-title-tag::after{
    animation:none !important;
    opacity:0 !important;
  }
}
/* 等级称号：仅改文字颜色，按阶段区分 */
.community-title-tag[data-level="1"],
.plaza-left .community-title-tag[data-level="1"],
.bbs-left-title[data-level="1"],
.bbs-detail-left .bbs-left-title[data-level="1"],
.bbs-comment-level[data-level="1"],
.bbs-detail-shell .bbs-comment-level[data-level="1"],
.user-title-tag[data-level="1"]{color:#6b7280!important}
.community-title-tag[data-level="2"],
.plaza-left .community-title-tag[data-level="2"],
.bbs-left-title[data-level="2"],
.bbs-detail-left .bbs-left-title[data-level="2"],
.bbs-comment-level[data-level="2"],
.bbs-detail-shell .bbs-comment-level[data-level="2"],
.user-title-tag[data-level="2"]{color:#16a34a!important}
.community-title-tag[data-level="3"],
.plaza-left .community-title-tag[data-level="3"],
.bbs-left-title[data-level="3"],
.bbs-detail-left .bbs-left-title[data-level="3"],
.bbs-comment-level[data-level="3"],
.bbs-detail-shell .bbs-comment-level[data-level="3"],
.user-title-tag[data-level="3"]{color:#0d9488!important}
.community-title-tag[data-level="4"],
.plaza-left .community-title-tag[data-level="4"],
.bbs-left-title[data-level="4"],
.bbs-detail-left .bbs-left-title[data-level="4"],
.bbs-comment-level[data-level="4"],
.bbs-detail-shell .bbs-comment-level[data-level="4"],
.user-title-tag[data-level="4"]{color:#2563eb!important}
.community-title-tag[data-level="5"],
.plaza-left .community-title-tag[data-level="5"],
.bbs-left-title[data-level="5"],
.bbs-detail-left .bbs-left-title[data-level="5"],
.bbs-comment-level[data-level="5"],
.bbs-detail-shell .bbs-comment-level[data-level="5"],
.user-title-tag[data-level="5"]{color:#7c3aed!important}
.community-title-tag[data-level="6"],
.plaza-left .community-title-tag[data-level="6"],
.bbs-left-title[data-level="6"],
.bbs-detail-left .bbs-left-title[data-level="6"],
.bbs-comment-level[data-level="6"],
.bbs-detail-shell .bbs-comment-level[data-level="6"],
.user-title-tag[data-level="6"]{color:#db2777!important}
.community-title-tag[data-level="7"],
.plaza-left .community-title-tag[data-level="7"],
.bbs-left-title[data-level="7"],
.bbs-detail-left .bbs-left-title[data-level="7"],
.bbs-comment-level[data-level="7"],
.bbs-detail-shell .bbs-comment-level[data-level="7"],
.user-title-tag[data-level="7"]{color:#ea580c!important}
.community-title-tag[data-level="8"],
.plaza-left .community-title-tag[data-level="8"],
.bbs-left-title[data-level="8"],
.bbs-detail-left .bbs-left-title[data-level="8"],
.bbs-comment-level[data-level="8"],
.bbs-detail-shell .bbs-comment-level[data-level="8"],
.user-title-tag[data-level="8"]{color:#ef0303!important}
.community-title-tag[data-level="9"],
.plaza-left .community-title-tag[data-level="9"],
.bbs-left-title[data-level="9"],
.bbs-detail-left .bbs-left-title[data-level="9"],
.bbs-comment-level[data-level="9"],
.bbs-detail-shell .bbs-comment-level[data-level="9"],
.user-title-tag[data-level="9"]{color:#b91c1c!important}
.community-title-tag[data-level="10"],
.plaza-left .community-title-tag[data-level="10"],
.bbs-left-title[data-level="10"],
.bbs-detail-left .bbs-left-title[data-level="10"],
.bbs-comment-level[data-level="10"],
.bbs-detail-shell .bbs-comment-level[data-level="10"],
.user-title-tag[data-level="10"]{color:#ca8a04!important}
.plaza-left .community-exp-bar-container{
  height:7px!important;
  background:#eee!important;
  border:1px solid rgba(0,0,0,.12)!important;
  border-radius:999px!important;
  overflow:hidden!important;
}
.plaza-left .community-exp-bar-fill{
  background:#111!important;
  border-radius:999px!important;
}
.plaza-left .community-exp-current{
  color:#111!important;font-weight:700!important;
}
.plaza-left .community-exp-next{color:rgba(0,0,0,.42)!important}
.plaza-left .community-profile-metrics{
  border-top:1px solid rgba(0,0,0,.1)!important;
  gap:6px!important;margin-top:12px!important;padding-top:12px!important;
}
.plaza-left .community-profile-metric{
  border:1px solid #111!important;border-radius:10px!important;
  background:#fafafa!important;padding:8px 4px!important;
  box-shadow:0 2px 0 rgba(0,0,0,.06)!important;
}
.plaza-left .community-profile-metric strong{
  color:#111!important;font-size:15px!important;font-weight:800!important;
}
.plaza-left .community-profile-metric span{
  color:rgba(0,0,0,.48)!important;font-size:11px!important;font-weight:600!important;
}

/* ????????? */
.plaza-left .plaza-side-block,
.plaza-left .community-side-pingdao{
  border:1px solid #111!important;
  border-radius:12px!important;
  padding:14px 16px!important;
  background:#fff!important;
  box-shadow:0 3px 0 rgba(0,0,0,.08)!important;
}
.plaza-left .plaza-side-block h6,
.plaza-left .community-side-pingdao h6{
  margin:0 0 12px!important;
  font-family:var(--font-code)!important;
  font-size:10px!important;font-weight:700!important;
  letter-spacing:.14em!important;
  color:rgba(0,0,0,.45)!important;
  text-transform:uppercase!important;
}

/* ?????? */
.plaza-left .community-stats-row{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
}
.plaza-left .community-stat{
  border:1px solid rgba(0,0,0,.12)!important;
  border-radius:10px!important;
  background:#fafafa!important;
  padding:10px 6px!important;
}
.plaza-left .community-stat strong{
  font-size:17px!important;font-weight:800!important;color:#111!important;
  font-variant-numeric:tabular-nums!important;
}
.plaza-left .community-stat span{
  margin-top:4px!important;
  font-size:10px!important;letter-spacing:.08em!important;
  color:rgba(0,0,0,.42)!important;
}

/* 左侧快捷按钮（未读态单独呼吸变色，不锁死背景） */
.plaza-left .community-quick-btn:not(.has-unread),
.plaza-left .plaza-side-block.community-side-quick .community-quick-btn:not(.has-unread){
  border:1px solid rgba(0,0,0,.08)!important;
  border-radius:10px!important;
  background:#f7f7f7!important;
  color:rgba(0,0,0,.65)!important;
  box-shadow:none!important;
}
.plaza-left .community-quick-btn:hover:not(.has-unread){
  background:#f0f0f0!important;
  border-color:rgba(0,0,0,.12)!important;
  color:#111!important;
  transform:translateY(-1px)!important;
  box-shadow:none!important;
}
.plaza-left .community-quick-btn:not(.has-unread) .community-quick-icon{
  background:#fff!important;
  border:1px solid rgba(0,0,0,.06)!important;
  color:rgba(0,0,0,.55)!important;
}
.plaza-left .community-quick-btn-info .community-quick-icon,
.plaza-left .community-quick-btn-dm:not(.has-unread) .community-quick-icon{
  color:rgba(0,0,0,.55)!important;
  background:#fff!important;
  border-color:rgba(0,0,0,.06)!important;
}
.plaza-left .community-quick-btn-dm.has-unread,
.plaza-left .plaza-side-block.community-side-quick .community-quick-btn-dm.has-unread{
  border-radius:10px!important;
  animation:bbs-dm-breathe-red 1.8s ease-in-out infinite!important;
}
.plaza-left .community-quick-btn-dm.has-unread .community-quick-icon{
  animation:bbs-dm-breathe-red-icon 1.8s ease-in-out infinite!important;
  box-shadow:none!important;
}
.plaza-left .community-quick-badge{
  background:#e53935!important;
  box-shadow:0 2px 8px rgba(229,57,53,.4)!important;
  color:#fff!important;
}
@keyframes bbs-dm-breathe-red{
  0%,100%{
    color:#b71c1c;
    border-color:rgba(229,57,53,.35);
    background:rgba(229,57,53,.1);
    box-shadow:0 0 0 0 rgba(229,57,53,.15);
  }
  50%{
    color:#fff;
    border-color:#e53935;
    background:#e53935;
    box-shadow:0 0 16px 2px rgba(229,57,53,.45);
  }
}
@keyframes bbs-dm-breathe-red-icon{
  0%,100%{
    color:#c62828;
    background:rgba(255,255,255,.95);
    border-color:rgba(229,57,53,.35);
  }
  50%{
    color:#fff;
    background:rgba(255,255,255,.18);
    border-color:rgba(255,255,255,.55);
  }
}

/* ?????? */
.plaza-left .community-side-pingdao .community-stats-row,
.plaza-left .tea-side-links{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
}
.plaza-left .community-side-pingdao .community-stats-row a,
.plaza-left .tea-side-links a{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:100%!important;
  padding:10px 12px!important;
  border:1px solid rgba(0,0,0,.12)!important;
  border-radius:10px!important;
  background:#fafafa!important;
  color:#333!important;
  font-family:var(--font-zh)!important;
  font-size:13px!important;
  font-weight:600!important;
  text-decoration:none!important;
  transition:background .15s,border-color .15s,color .15s,box-shadow .15s!important;
}
.plaza-left .community-side-pingdao .community-stats-row a::before,
.plaza-left .tea-side-links a::before{display:none!important;content:none!important}
.plaza-left .community-side-pingdao .community-stats-row a:hover,
.plaza-left .tea-side-links a:hover{
  color:#111!important;
  border-color:#111!important;
  background:#fff!important;
  box-shadow:0 2px 0 rgba(0,0,0,.1)!important;
}
.plaza-left .community-side-pingdao .community-stats-row a.on,
.plaza-left .community-side-pingdao .community-stats-row a.active,
.plaza-left .tea-side-links a.on,
.plaza-left .tea-side-links a.active{
  color:#fff!important;
  background:#111!important;
  border-color:#111!important;
  box-shadow:0 3px 0 rgba(0,0,0,.2)!important;
}

/* ??? */
.plaza-left .community-random-link{
  border-bottom:1px dashed rgba(0,0,0,.12)!important;
  padding:9px 0!important;
  color:#333!important;
  font-weight:500!important;
}
.plaza-left .community-random-link:last-child{border-bottom:0!important}
.plaza-left .community-random-link:hover{
  color:#111!important;
}

/* ??????? */
.bbs-detail-left{
  border-right:1px solid rgba(0,0,0,.1)!important;
}
.bbs-detail-left .bbs-left-card{
  border:1px solid #111!important;
  border-radius:12px!important;
  background:#fff!important;
  padding:20px 16px!important;
  box-shadow:0 3px 0 rgba(0,0,0,.08)!important;
  gap:12px!important;
}
/* 2D ???????? 150?50?????/?????? */
.bbs-detail-left .bbs-left-character{
  width:150px!important;
  height:150px!important;
  border:1px solid var(--edge-2, rgba(0,0,0,.14))!important;
  border-radius:0!important;
  background:#fff!important;
  overflow:hidden!important;
  position:relative!important;
}
.bbs-detail-left .bbs-left-character .character-preview-2d{
  width:150px!important;
  height:150px!important;
  margin:0 auto!important;
}
.bbs-detail-left .bbs-left-avatar{
  width:100px!important;
  height:100px!important;
  border:1px solid rgba(0,0,0,.14)!important;
  background:#f0f0f0!important;
  color:#111!important;
  border-radius:50%!important;
}
.bbs-detail-left .bbs-left-name{
  font-size:16px!important;font-weight:800!important;color:#111!important;
}
.bbs-detail-left .bbs-left-uid{
  color:rgba(0,0,0,.42)!important;
}
.bbs-detail-left .bbs-left-title{
  color:#111!important;
  border:1px solid #111!important;
  background:#fff!important;
  border-radius:999px!important;
  padding:3px 9px!important;
  font-weight:600!important;
}
.bbs-detail-left .bbs-left-exp-bar{
  height:7px!important;
  background:#eee!important;
  border:1px solid rgba(0,0,0,.12)!important;
  border-radius:999px!important;
}
.bbs-detail-left .bbs-left-exp-fill{
  background:#111!important;
}
.bbs-detail-left .bbs-left-exp-current{
  color:#111!important;font-weight:700!important;
}
.bbs-detail-left .bbs-left-exp-next{color:rgba(0,0,0,.42)!important}

.bbs-detail-left .bbs-left-actions .community-quick-btn,
.bbs-detail-left .bbs-left-actions .plaza-quick-btn{
  border:1px solid #111!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#111!important;
  box-shadow:0 2px 0 rgba(0,0,0,.12)!important;
}
.bbs-detail-left .bbs-left-actions .community-quick-btn:hover,
.bbs-detail-left .bbs-left-actions .plaza-quick-btn:hover{
  background:#f7f7f7!important;
  border-color:#111!important;
  box-shadow:0 3px 0 rgba(0,0,0,.16)!important;
}
.bbs-detail-left .bbs-left-actions .community-quick-icon,
.bbs-detail-left .bbs-left-actions .plaza-quick-icon{
  background:#f5f5f5!important;
  border:1px solid rgba(0,0,0,.12)!important;
  color:#111!important;
}

.bbs-detail-left .bbs-left-stats{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  width:100%!important;
  border-top:1px solid rgba(0,0,0,.1)!important;
  padding-top:12px!important;
}
.bbs-detail-left .bbs-left-stat{
  border:1px solid rgba(0,0,0,.12)!important;
  border-radius:10px!important;
  background:#fafafa!important;
  padding:10px 4px!important;
}
.bbs-detail-left .bbs-left-stat strong{
  font-size:16px!important;font-weight:800!important;color:#111!important;
  font-variant-numeric:tabular-nums!important;
}
.bbs-detail-left .bbs-left-stat span{
  color:rgba(0,0,0,.42)!important;
}

@media (max-width:900px){
  .bbs-detail-left{border-right:0!important}
}

/* ========== ????????????? + ?????? ========== */
.bbs-detail-shell .bbs-detail-post {
  background: #fff !important;
  border: 1px solid #111 !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, .05) !important;
  overflow: hidden !important;
  margin-bottom: 20px !important;
  padding: 0 !important;
}

.bbs-detail-shell .bbs-detail-header {
  padding: 24px 24px 18px !important;
  border-bottom: 1px solid #ececec !important;
  background: linear-gradient(180deg, #fafafa 0%, #fff 100%) !important;
  overflow: visible !important;
}

.bbs-detail-shell .bbs-detail-head-row {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  overflow: visible !important;
}

.bbs-detail-shell .bbs-detail-head-avatar {
  width: 48px !important;
  height: 48px !important;
  flex-shrink: 0 !important;
  display: block !important;
  position: relative !important;
  border-radius: 50% !important;
  overflow: hidden !important;
  border: 1.5px solid #111 !important;
  background: #f5f5f5 !important;
  text-decoration: none !important;
  color: #333 !important;
  font-family: var(--font-zh) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 48px !important;
  text-align: center !important;
}

.bbs-detail-shell .bbs-detail-head-avatar.has-avf {
  overflow: visible !important;
  border: none !important;
  background: transparent !important;
  line-height: 0 !important;
}

.bbs-detail-shell .bbs-detail-head-avatar > img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 50% !important;
}

.bbs-detail-shell .bbs-detail-head-copy {
  flex: 1 !important;
  min-width: 0 !important;
}

.bbs-detail-shell .bbs-detail-title {
  margin: 0 0 10px !important;
  color: #111 !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  letter-spacing: -.02em !important;
}

.bbs-detail-shell .bbs-detail-meta {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px 12px !important;
  color: #888 !important;
  font-size: 12px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.bbs-detail-shell .bbs-detail-meta .author-link {
  color: #FF6600 !important;
  font-weight: 700 !important;
}

.bbs-detail-shell .bbs-detail-meta .author-link:hover {
  color: #FF6600 !important;
  text-decoration: underline !important;
}

.bbs-detail-shell .bbs-detail-meta .author-avatar {
  border: 1.5px solid #111 !important;
  background: #f5f5f5 !important;
  color: #333 !important;
  box-shadow: none !important;
}

.bbs-detail-shell .bbs-detail-meta .sep {
  color: #ccc !important;
}

.bbs-detail-shell .bbs-detail-meta .stat {
  color: #666 !important;
}

.bbs-detail-shell .bbs-detail-meta .stat svg {
  opacity: .55 !important;
}

.bbs-detail-shell .bbs-post-luck {
  margin: 0 !important;
  padding: 12px 24px 0 !important;
}

.bbs-detail-shell .bbs-detail-content {
  padding: 22px 24px 8px !important;
  color: #222 !important;
  font-size: 15px !important;
  line-height: 1.85 !important;
}

.bbs-detail-shell .bbs-detail-content img {
  max-width: 100% !important;
  border-radius: 10px !important;
  border: 1px solid #e8e8e8 !important;
  margin: 12px 0 !important;
}

.bbs-detail-shell .bbs-detail-content blockquote {
  margin: 14px 0 !important;
  padding: 12px 16px !important;
  border-left: 3px solid #111 !important;
  border-radius: 0 10px 10px 0 !important;
  background: #f7f7f7 !important;
  color: #555 !important;
}

.bbs-detail-shell .bbs-detail-content a {
  color: #111 !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

.bbs-detail-shell .bbs-detail-content pre,
.bbs-detail-shell .bbs-detail-content code {
  background: #f5f5f5 !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 6px !important;
}

.bbs-detail-shell .bbs-detail-actions {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  padding: 16px 24px 22px !important;
  border-top: 1px solid #ececec !important;
  background: #fafafa !important;
}

.bbs-detail-shell .bbs-detail-actions button,
.bbs-detail-shell .bbs-detail-actions .bbs-follow-btn {
  border: 1px solid #111 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #111 !important;
  box-shadow: 0 2px 0 rgba(0, 0, 0, .12) !important;
  font-weight: 700 !important;
}

.bbs-detail-shell .bbs-detail-actions button:hover,
.bbs-detail-shell .bbs-detail-actions .bbs-follow-btn:hover {
  background: #f5f5f5 !important;
  border-color: #111 !important;
  box-shadow: 0 3px 0 rgba(0, 0, 0, .16) !important;
}

.bbs-detail-shell .bbs-detail-actions .vote-btn[data-action="support"]:hover {
  color: #2f7a3a !important;
  border-color: #2f7a3a !important;
  background: rgba(47, 122, 58, .06) !important;
}

.bbs-detail-shell .bbs-detail-actions .vote-btn[data-action="support"].active {
  color: #2f7a3a !important;
  border-color: #2f7a3a !important;
  background: rgba(47, 122, 58, .1) !important;
  box-shadow: 0 2px 0 rgba(47, 122, 58, .25) !important;
}

.bbs-detail-shell .bbs-detail-actions .vote-btn[data-action="oppose"]:hover,
.bbs-detail-shell .bbs-detail-actions .vote-btn[data-action="oppose"].active {
  color: #111 !important;
  border-color: #111 !important;
  background: rgba(0, 0, 0, .06) !important;
}

.bbs-detail-shell .bbs-detail-actions .bbs-follow-btn.is-follow:hover,
.bbs-detail-shell .bbs-detail-actions .bbs-follow-btn.is-following {
  background: #111 !important;
  color: #fff !important;
  border-color: #111 !important;
}

.bbs-detail-shell .bbs-comments-section {
  margin-top: 20px !important;
  background: #fff !important;
  border: 1px solid #111 !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, .05) !important;
  overflow: hidden !important;
  padding: 0 !important;
}

.bbs-detail-shell .bbs-comments-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 16px 20px !important;
  margin: 0 !important;
  border-bottom: 1px solid #ececec !important;
  background: linear-gradient(180deg, #fafafa 0%, #fff 100%) !important;
}

.bbs-detail-shell .bbs-comments-head h3 {
  margin: 0 !important;
  color: #111 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
}

.bbs-detail-shell .bbs-comments-head h3 .count {
  display: inline-flex !important;
  align-items: center !important;
  height: 22px !important;
  padding: 0 9px !important;
  margin-left: 6px !important;
  border: 1px solid #111 !important;
  border-radius: 999px !important;
  background: #111 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

.bbs-detail-shell .bbs-comments-sort {
  color: #888 !important;
  font-size: 12px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.bbs-detail-shell .comment-list {
  padding: 4px 12px 8px !important;
}

.bbs-detail-shell .bbs-comment-thread {
  border-bottom: 1px solid #f0f0f0 !important;
}

.bbs-detail-shell .bbs-comment-thread:last-child {
  border-bottom: none !important;
}

.bbs-detail-shell .bbs-comment-item {
  display: flex !important;
  gap: 12px !important;
  padding: 16px 8px !important;
  border-bottom: none !important;
  background: transparent !important;
  transition: background .15s ease !important;
}

.bbs-detail-shell .bbs-comment-item:hover {
  background: #fafafa !important;
}

.bbs-detail-shell .bbs-comment-avatar {
  width: 40px !important;
  height: 40px !important;
  border: 1.5px solid #111 !important;
  background: #f5f5f5 !important;
  color: #333 !important;
  border-radius: 50% !important;
  box-shadow: none !important;
}

.bbs-detail-shell .bbs-comment-top {
  gap: 6px 10px !important;
  margin-bottom: 6px !important;
}

.bbs-detail-shell .bbs-comment-author {
  color: #111 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.bbs-detail-shell .bbs-comment-author:hover {
  color: #111 !important;
  opacity: 1 !important;
  text-decoration: underline !important;
}

.bbs-detail-shell .bbs-comment-level {
  display: inline-flex !important;
  align-items: center !important;
  height: 18px !important;
  padding: 0 6px !important;
  border: 1px solid #ddd !important;
  border-radius: 4px !important;
  background: #f7f7f7 !important;
  color: #666 !important;
  font-size: 11px !important;
  letter-spacing: 0 !important;
}

.bbs-detail-shell .bbs-comment-floor {
  margin-left: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  height: 18px !important;
  padding: 0 6px !important;
  border: 1px solid #ddd !important;
  border-radius: 4px !important;
  background: #f5f5f5 !important;
  color: #666 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

.bbs-detail-shell .bbs-comment-floor.hot {
  border-color: #111 !important;
  background: #111 !important;
  color: #fff !important;
}

.bbs-detail-shell .bbs-comment-time {
  color: #999 !important;
  font-size: 12px !important;
  letter-spacing: 0 !important;
}

.bbs-detail-shell .bbs-comment-text {
  color: #333 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.bbs-detail-shell .bbs-comment-text a {
  color: #111 !important;
  font-weight: 600 !important;
}

.bbs-detail-shell .bbs-comment-image-thumb {
  border: 1px solid #e0e0e0 !important;
  border-radius: 8px !important;
}

.bbs-detail-shell .bbs-comment-actions {
  gap: 6px !important;
  margin-top: 8px !important;
}

.bbs-detail-shell .bbs-comment-actions span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  height: 22px !important;
  padding: 0 7px !important;
  border: 1px solid #ddd !important;
  border-radius: 6px !important;
  background: #fff !important;
  color: #666 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  transition: background .15s ease, border-color .15s ease, color .15s ease !important;
}

.bbs-detail-shell .bbs-comment-actions span:hover {
  border-color: #111 !important;
  color: #111 !important;
  background: #f5f5f5 !important;
}

.bbs-detail-shell .bbs-comment-actions svg {
  width: 11px !important;
  height: 11px !important;
  opacity: .65 !important;
}

.bbs-detail-shell .comment-replies-flat {
  margin: 0 8px 12px 52px !important;
  padding: 4px 10px 4px 12px !important;
  border-left: 2px solid #e5e5e5 !important;
  border-radius: 0 10px 10px 0 !important;
  background: #f7f7f7 !important;
}

.bbs-detail-shell .comment-reply {
  padding: 12px 4px !important;
}

.bbs-detail-shell .comment-reply .bbs-comment-avatar {
  width: 28px !important;
  height: 28px !important;
  font-size: 11px !important;
}

.bbs-detail-shell .reply-to-tag {
  color: #1f9fff !important;
  font-weight: 700 !important;
}

.bbs-detail-shell .bbs-comments-empty,
.bbs-detail-shell [data-empty-comments] {
  margin: 12px 8px 16px !important;
  padding: 36px 20px !important;
  border: 1px dashed #ccc !important;
  border-radius: 12px !important;
  background: #fafafa !important;
  color: #888 !important;
  font-size: 14px !important;
  text-align: center !important;
  line-height: 1.8 !important;
}

.bbs-detail-shell .bbs-comments-empty-ico {
  font-size: 28px !important;
  margin-bottom: 10px !important;
  color: #bbb !important;
  line-height: 1 !important;
}

.bbs-detail-shell .bbs-login-prompt {
  margin: 0 !important;
  padding: 28px 20px !important;
  border-top: 1px solid #ececec !important;
  background: #fafafa !important;
  text-align: center !important;
}

.bbs-detail-shell .bbs-login-prompt p {
  margin: 0 0 14px !important;
  color: #666 !important;
  font-size: 14px !important;
}

.bbs-detail-shell .bbs-login-prompt .btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 38px !important;
  padding: 0 18px !important;
  border: 1px solid #111 !important;
  border-radius: 10px !important;
  background: #111 !important;
  color: #fff !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-size: 13px !important;
  box-shadow: 0 3px 0 #000 !important;
}

.bbs-detail-shell .bbs-login-prompt .btn:hover {
  background: #222 !important;
  border-color: #222 !important;
  color: #fff !important;
}

.bbs-detail-shell .bbs-gm-persona-bar {
  margin: 0 !important;
  padding: 12px 20px !important;
  border-top: 1px solid #ececec !important;
  background: #f7f7f7 !important;
}

.bbs-detail-shell .comment-editor-wrap {
  margin: 16px 16px 20px !important;
  border: 1px solid #111 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 3px 3px 0 #111 !important;
}

.bbs-detail-shell .comment-editor-wrap .ce-toolbar {
  background: #f5f5f5 !important;
  border-bottom: 1px solid #e5e5e5 !important;
  border-radius: 0 !important;
}

.bbs-detail-shell .comment-editor-wrap .ce-tbtn {
  border-radius: 6px !important;
  color: #555 !important;
}

.bbs-detail-shell .comment-editor-wrap .ce-tbtn:hover,
.bbs-detail-shell .comment-editor-wrap .ce-tbtn.on,
.bbs-detail-shell .comment-editor-wrap .ce-tbtn:active {
  color: #111 !important;
  background: rgba(0, 0, 0, .08) !important;
}

.bbs-detail-shell .comment-editor-wrap .ce-sep {
  background: #ddd !important;
}

.bbs-detail-shell .comment-editor-wrap .ce-body {
  color: #222 !important;
  background: #fff !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
}

.bbs-detail-shell .comment-editor-wrap .ce-body:focus {
  box-shadow: inset 0 0 0 1px #111 !important;
}

.bbs-detail-shell .comment-editor-wrap .ce-footer {
  background: #f5f5f5 !important;
  border-top: 1px solid #e5e5e5 !important;
  border-radius: 0 !important;
  padding: 10px 12px !important;
}

.bbs-detail-shell .comment-editor-wrap .ce-submit {
  min-width: 120px !important;
  padding: 11px 20px !important;
  border: 1px solid #111 !important;
  border-radius: 10px !important;
  background: #111 !important;
  color: #fff !important;
  box-shadow: 0 3px 0 #000 !important;
  font-weight: 800 !important;
}

.bbs-detail-shell .comment-editor-wrap .ce-submit:hover {
  background: #222 !important;
  border-color: #222 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 0 #000 !important;
}

.bbs-detail-shell .comment-editor-wrap .ce-submit:active {
  transform: translateY(1px) !important;
  box-shadow: 0 1px 0 #000 !important;
}

.bbs-detail-shell .inline-reply-inner,
.bbs-detail-shell .inline-reply-editor-wrap {
  border: 1px solid #111 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 2px 2px 0 #111 !important;
}

.bbs-detail-shell .inline-reply-textarea:focus {
  border-color: #111 !important;
}

@media (max-width: 768px) {
  .bbs-detail-shell .bbs-detail-header,
  .bbs-detail-shell .bbs-detail-content,
  .bbs-detail-shell .bbs-detail-actions {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .bbs-detail-shell .bbs-detail-title {
    font-size: 18px !important;
  }

  .bbs-detail-shell .bbs-comments-head {
    padding: 14px 14px !important;
  }

  .bbs-detail-shell .comment-replies-flat {
    margin-left: 28px !important;
  }
}


/* ========== 列表卡片视觉 ========== */
.plaza-feed-grid > .plaza-note-card,
#bbsFeedGrid > .plaza-note-card,
.community-guide-feed > .plaza-note-card,
.wf-col > .plaza-note-card,
.wf-featured > .plaza-note-card,
.plaza-note-card {
  background: #fff !important;
  border: 1px solid #111 !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, .04) !important;
  overflow: hidden !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
  cursor: pointer !important;
}

.plaza-note-card:hover:not(.has-gm-reply) {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .08) !important;
  border-color: #111 !important;
}

#bbsFeedGrid > .plaza-note-card.has-gm-reply,
.plaza-feed-grid > .plaza-note-card.has-gm-reply,
.community-guide-feed > .plaza-note-card.has-gm-reply,
.wf-col > .plaza-note-card.has-gm-reply,
.wf-featured > .plaza-note-card.has-gm-reply,
.plaza-note-card.has-gm-reply {
  border: 1px solid var(--gm-drop-border, rgba(212, 160, 23, .45)) !important;
  box-shadow: 0 0 0 1px var(--gm-drop-shadow, rgba(212, 160, 23, .14)) !important;
}

#bbsFeedGrid > .plaza-note-card.has-gm-reply:hover,
.plaza-feed-grid > .plaza-note-card.has-gm-reply:hover,
.community-guide-feed > .plaza-note-card.has-gm-reply:hover,
.wf-col > .plaza-note-card.has-gm-reply:hover,
.wf-featured > .plaza-note-card.has-gm-reply:hover,
.plaza-note-card.has-gm-reply:hover {
  transform: translateY(-2px) !important;
  border-color: var(--gm-drop-border-hover, rgba(212, 160, 23, .7)) !important;
  box-shadow: 0 4px 18px var(--gm-drop-shadow-hover, rgba(212, 160, 23, .22)) !important;
}

.plaza-note-card.featured {
  background: linear-gradient(180deg, #fafafa 0%, #fff 48%) !important;
}

.plaza-note-media {
  border-bottom: 1px solid #ececec !important;
  background: #f5f5f5 !important;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
}

.plaza-note-card.featured .plaza-note-media {
  aspect-ratio: 16 / 7 !important;
}

.plaza-note-media img {
  filter: none !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.plaza-note-body {
  padding: 16px 18px 14px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  min-width: 0 !important;
}

.plaza-note-kicker {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin: 0 !important;
  font-family: var(--font-zh) !important;
  font-size: 12px !important;
  color: #888 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  line-height: 1.2 !important;
}

.plaza-note-kicker .note-category-tag,
.plaza-note-kicker .note-tone,
.plaza-note-kicker .note-flag,
.plaza-note-card .note-flag {
  display: inline-flex !important;
  align-items: center !important;
  height: 22px !important;
  padding: 0 8px !important;
  border: 1px solid #ddd !important;
  border-radius: 999px !important;
  background: #f7f7f7 !important;
  color: #555 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin: 0 !important;
  vertical-align: middle !important;
}

.plaza-note-kicker .note-tone--sticky,
.plaza-note-card .note-flag--sticky {
  border-color: #111 !important;
  background: #111 !important;
  color: #fff !important;
}

.plaza-note-kicker .note-tone--essence,
.plaza-note-card .note-flag--essence {
  border-color: #111 !important;
  background: #fff !important;
  color: #111 !important;
}

.plaza-note-kicker .note-tone:not(.note-tone--sticky):not(.note-tone--essence) {
  border-color: #e0e0e0 !important;
  background: #fff !important;
  color: #ef8675 !important;
}

.plaza-note-kicker .note-time {
  margin-left: auto !important;
  color: #999 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.plaza-note-card .gm-drop-row {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 !important;
}

.plaza-note-card .gm-drop-badge,
.plaza-note-kicker .gm-drop-badge {
  margin: 0 !important;
  height: 22px !important;
  padding: 0 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-align: center !important;
}

.plaza-note-card h3 {
  display: flex !important;
  align-items: flex-start !important;
  flex-wrap: wrap !important;
  gap: 6px 8px !important;
  margin: 0 !important;
  color: #111 !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  letter-spacing: -.01em !important;
}

.plaza-note-card.featured h3 {
  font-size: 20px !important;
}

.plaza-note-card .note-title-text {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}

.plaza-note-card .note-has-image-icon {
  color: #666 !important;
  margin-left: 0 !important;
  top: 2px !important;
  flex-shrink: 0 !important;
}

.plaza-note-card:hover .note-has-image-icon {
  color: #111 !important;
}

.plaza-note-card .note-excerpt,
.plaza-note-card p {
  margin: 0 !important;
  color: #666 !important;
  font-size: 13.5px !important;
  line-height: 1.7 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.plaza-note-card .note-foot {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-top: 2px !important;
  padding-top: 12px !important;
  border-top: 1px solid #efefef !important;
}

.plaza-note-card .note-foot-main {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

.plaza-note-card .note-thumb {
  width: 72px !important;
  height: 72px !important;
  flex: 0 0 72px !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  border: 1px solid #e8e8e8 !important;
  background: #f5f5f5 !important;
  align-self: flex-end !important;
}

.plaza-note-card .note-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.plaza-note-card .feed-author {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  justify-content: flex-start !important;
}

.plaza-note-card .feed-author .avatar {
  width: 34px !important;
  height: 34px !important;
  border: 1.5px solid #111 !important;
  border-radius: 50% !important;
  background: #f5f5f5 !important;
  color: #333 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

.plaza-note-card .feed-author strong {
  color: #111 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.plaza-note-card .feed-author em {
  color: #999 !important;
  font-size: 11px !important;
  letter-spacing: 0 !important;
  margin-top: 1px !important;
}

.plaza-note-card .feed-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  border-top: none !important;
  padding-top: 0 !important;
  font-family: var(--font-zh) !important;
  font-size: 11px !important;
  color: #777 !important;
  letter-spacing: 0 !important;
}

.plaza-note-card .feed-actions span {
  display: inline-flex !important;
  align-items: center !important;
  height: 20px !important;
  padding: 0 7px !important;
  border: 1px solid #ececec !important;
  border-radius: 999px !important;
  background: #fafafa !important;
  color: #777 !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}

.plaza-note-card .feed-actions span:first-child {
  color: #666 !important;
  border-color: #e5e5e5 !important;
  background: #f7f7f7 !important;
}

.plaza-note-card .feed-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}

.plaza-note-card .feed-tags:empty {
  display: none !important;
}

.plaza-note-card .feed-tags span {
  display: inline-flex !important;
  align-items: center !important;
  height: 22px !important;
  padding: 0 8px !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #666 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
}

@media (max-width: 640px) {
  .plaza-note-body {
    padding: 14px 14px 12px !important;
  }

  .plaza-note-card h3 {
    font-size: 16px !important;
  }

  .plaza-note-card.featured h3 {
    font-size: 17px !important;
  }

  .plaza-note-kicker .note-time {
    margin-left: 0 !important;
    width: 100% !important;
  }

  .plaza-note-card .note-thumb {
    width: 64px !important;
    height: 64px !important;
    flex-basis: 64px !important;
    border-radius: 8px !important;
  }
}


/* ========== BUG ?????? ========== */
#dialog-mask.dialog-mask,
.dialog-mask {
  align-items: center !important;
  justify-content: center !important;
  background: rgba(0, 0, 0, .48) !important;
  backdrop-filter: blur(5px) !important;
  -webkit-backdrop-filter: blur(5px) !important;
  padding: 20px !important;
  z-index: 12000 !important;
}

#dialog-mask .dialog,
.dialog-mask .dialog {
  width: min(420px, 100%) !important;
  background: #fff !important;
  border: 1px solid #111 !important;
  border-radius: 16px !important;
  box-shadow: 0 22px 56px rgba(0, 0, 0, .18), 4px 4px 0 #111 !important;
  overflow: hidden !important;
  transform: translateY(8px) scale(.98) !important;
  opacity: .96 !important;
  transition: transform .2s ease, opacity .2s ease !important;
}

#dialog-mask.show .dialog,
.dialog-mask.show .dialog {
  transform: translateY(0) scale(1) !important;
  opacity: 1 !important;
}

#dialog-mask .dialog-bar,
.dialog-mask .dialog-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 14px 16px !important;
  border-bottom: 1px solid #ececec !important;
  background: linear-gradient(180deg, #fafafa 0%, #fff 100%) !important;
  color: #111 !important;
  font-family: var(--font-zh) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

#dialog-mask .dialog-eyebrow,
.dialog-mask .dialog-eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  height: 24px !important;
  padding: 0 10px !important;
  border: 1px solid #111 !important;
  border-radius: 999px !important;
  background: #111 !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
}

#dialog-mask .dialog-bar .x,
.dialog-mask .dialog-bar .x {
  width: 32px !important;
  height: 32px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #666 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: border-color .15s, color .15s, background .15s !important;
}

#dialog-mask .dialog-bar .x:hover,
.dialog-mask .dialog-bar .x:hover {
  border-color: #111 !important;
  color: #111 !important;
  background: #f5f5f5 !important;
}

#dialog-mask .dialog-body,
.dialog-mask .dialog-body {
  padding: 28px 24px 22px !important;
  text-align: center !important;
}

#dialog-mask .dialog-body .icon,
.dialog-mask .dialog-body .icon {
  display: none !important;
}

#dialog-mask .dialog-vote-icon,
.dialog-mask .dialog-vote-icon {
  width: 56px !important;
  height: 56px !important;
  margin: 0 auto 16px !important;
  display: grid !important;
  place-items: center !important;
  border: 1.5px solid #111 !important;
  border-radius: 14px !important;
  background: #f7f7f7 !important;
  color: #111 !important;
  box-shadow: 2px 2px 0 #111 !important;
}

#dialog-mask .dialog-body h3,
.dialog-mask .dialog-body h3 {
  margin: 0 0 10px !important;
  color: #111 !important;
  font-family: var(--font-zh) !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
  line-height: 1.35 !important;
}

#dialog-mask .dialog-bug-name,
.dialog-mask .dialog-bug-name {
  margin: 0 auto 12px !important;
  max-width: 100% !important;
  padding: 8px 12px !important;
  border: 1px dashed #ccc !important;
  border-radius: 10px !important;
  background: #fafafa !important;
  color: #333 !important;
  font-family: var(--font-zh) !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  word-break: break-word !important;
}

#dialog-mask .dialog-body p,
.dialog-mask .dialog-body p {
  margin: 0 0 16px !important;
  color: #666 !important;
  font-family: var(--font-zh) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

#dialog-mask .dialog-vote-chip,
.dialog-mask .dialog-vote-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 36px !important;
  padding: 0 14px !important;
  border: 1px solid #111 !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #555 !important;
  font-family: var(--font-zh) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  box-shadow: 2px 2px 0 #111 !important;
}

#dialog-mask .dialog-vote-chip strong,
.dialog-mask .dialog-vote-chip strong {
  color: #111 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  font-variant-numeric: tabular-nums !important;
}

#dialog-mask .dialog-foot,
.dialog-mask .dialog-foot {
  display: flex !important;
  gap: 10px !important;
  justify-content: stretch !important;
  padding: 14px 16px 16px !important;
  border-top: 1px solid #ececec !important;
  background: #fafafa !important;
}

#dialog-mask .dialog-btn,
.dialog-mask .dialog-btn {
  flex: 1 !important;
  min-height: 42px !important;
  padding: 10px 14px !important;
  border: 1px solid #111 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #111 !important;
  font-family: var(--font-zh) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  cursor: pointer !important;
  box-shadow: 0 2px 0 rgba(0, 0, 0, .12) !important;
  transition: background .15s, transform .12s, box-shadow .15s, color .15s !important;
}

#dialog-mask .dialog-btn:hover,
.dialog-mask .dialog-btn:hover {
  background: #f5f5f5 !important;
  border-color: #111 !important;
  color: #111 !important;
}

#dialog-mask .dialog-btn.primary,
.dialog-mask .dialog-btn.primary {
  background: #111 !important;
  border-color: #111 !important;
  color: #fff !important;
  box-shadow: 0 3px 0 #000 !important;
}

#dialog-mask .dialog-btn.primary:hover,
.dialog-mask .dialog-btn.primary:hover {
  background: #222 !important;
  border-color: #222 !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 0 #000 !important;
}

#dialog-mask .dialog-btn.primary:active,
.dialog-mask .dialog-btn.primary:active {
  transform: translateY(1px) !important;
  box-shadow: 0 1px 0 #000 !important;
}

.vote-toast {
  left: 50% !important;
  bottom: 32px !important;
  max-width: min(420px, calc(100vw - 32px)) !important;
  padding: 12px 18px !important;
  border: 1px solid #111 !important;
  border-radius: 12px !important;
  background: #111 !important;
  color: #fff !important;
  font-family: var(--font-zh) !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  box-shadow: 3px 3px 0 rgba(0, 0, 0, .35) !important;
  letter-spacing: 0 !important;
  z-index: 13000 !important;
}

@media (max-width: 480px) {
  #dialog-mask .dialog-foot,
  .dialog-mask .dialog-foot {
    flex-direction: column-reverse !important;
  }

  #dialog-mask .dialog-body,
  .dialog-mask .dialog-body {
    padding: 24px 18px 18px !important;
  }

  #dialog-mask .dialog-body h3,
  .dialog-mask .dialog-body h3 {
    font-size: 18px !important;
  }
}

/* 手机端：用户 2D 形象在方框内上下左右居中，并略放大 */
@media (max-width: 640px) {
  .plaza-left .community-profile-character,
  .community-profile-character,
  .plaza-profile-character,
  .bbs-detail-left .bbs-left-character,
  .bbs-left-character {
    width: 88px !important;
    height: 88px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    position: relative !important;
    box-sizing: border-box !important;
  }

  .plaza-left .community-profile-character .character-preview-2d,
  .community-profile-character .character-preview-2d,
  .plaza-profile-character .character-preview-2d,
  .bbs-detail-left .bbs-left-character .character-preview-2d,
  .bbs-left-character .character-preview-2d,
  .character-preview-2d {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: scale(1.08) !important;
    transform-origin: center center !important;
  }

  .character-preview-2d img {
    object-fit: contain !important;
    object-position: center center !important;
  }

  .community-profile-character .avatar,
  .plaza-profile-character .avatar,
  .bbs-left-avatar {
    width: 100% !important;
    height: 100% !important;
    font-size: 26px !important;
  }
}

/* GM 颜色：盖过详情页黑白主题里的 color:!important，读取元素上的 CSS 变量 */
.bbs-detail-shell .bbs-comment-author.bbs-gm-author,
.bbs-detail-left .bbs-left-name.bbs-gm-author,
.plaza-left .community-profile-info strong.bbs-gm-author,
.community-profile-info strong.bbs-gm-author {
  color: var(--bbs-gm-color, #d4a017) !important;
  -webkit-text-fill-color: var(--bbs-gm-color, #d4a017);
  background: none;
  animation: none;
}
.bbs-detail-shell .bbs-comment-author.bbs-gm-author:hover {
  color: var(--bbs-gm-color, #d4a017) !important;
  opacity: 1 !important;
}
.bbs-detail-shell .bbs-comment-text.bbs-gm-text {
  color: var(--bbs-gm-color, #d4a017) !important;
}
.bbs-detail-shell .bbs-comment-level.bbs-gm-title,
.bbs-detail-left .bbs-left-title.bbs-gm-title,
.community-title-tag.bbs-gm-title,
.plaza-left .community-title-tag.bbs-gm-title,
.user-title-tag.bbs-gm-title {
  color: var(--bbs-gm-title-color, #d4a017) !important;
  border-color: var(--bbs-gm-title-color, #d4a017) !important;
  background: transparent !important;
}
