/* === PWA App-like FX: transitions + status bar === */
html.is-pwa, html.pt-enabled{
  /* prevent rubber-band weirdness in standalone */
  overscroll-behavior-y: contain;
}

/* safe-area aware top padding for immersive status bar (PWA iOS/Android) */
html.is-pwa body{
  padding-top: env(safe-area-inset-top);
}

/* Page enter/exit animations */
html.pt-enabled.pt-enter body{
  animation: ptEnter .22s ease-out both;
}
@keyframes ptEnter{
  from{ opacity: .92; transform: translateY(6px); }
  to{ opacity: 1; transform: translateY(0); }
}

/* Overlay for navigation exit */
#ptOverlay{
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  transform: translateZ(0);
  background: var(--pt-overlay-bg, rgba(255,255,255,.92));
  transition: opacity .16s ease;
  z-index: 9999;
}
html.theme-dark #ptOverlay{
  background: var(--pt-overlay-bg-dark, rgba(0,0,0,.72));
}
#ptOverlay.pt-overlay-show{
  opacity: 1;
}

/* Slight dim on exit */
html.pt-enabled.pt-exit body{
  filter: saturate(.98);
}

/* === Icon-only topic action buttons (统一大小/对齐) === */
.btn-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  line-height:1;
}
.btn-icon .ico{
  display:inline-block;
  width:1.2em;
  text-align:center;
  font-size:16px;
  line-height:1;
}
.btn-icon .count{
  font-size:12px;
  line-height:1;
  font-variant-numeric: tabular-nums;
}
/* icon-only buttons: keep consistent width */
.btn-icon.icon-only{
  min-width:32px;
  padding:4px 8px;
}
.btn-icon.icon-only{
  gap:0;
  padding:4px 8px;
  min-width:32px;
}
/* make buttons look nicer when only emoji */
.btn.btn-sm.btn-icon{
  padding:4px 6px;
  font-size:13px;
}
/* icon-only buttons: normalize icon size */


