.post-actions { margin: var(--space-6) 0; text-align: center; }
.post-actions-buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-3); }
button.post-like { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-3); width: 148px; height: 44px; box-sizing: border-box; padding: 0 var(--space-4); appearance: none; border: 1px solid var(--color-border); border-radius: var(--radius-full); background: var(--color-bg-secondary); color: var(--color-danger); box-shadow: none; font-family: inherit; font-size: var(--text-lg); font-weight: var(--font-bold); cursor: pointer; transition: color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast); }
button.post-like iconify-icon { color: var(--color-danger); }
button.post-like:hover:not(:disabled),
button.post-like:active,
button.post-like[aria-pressed="true"],
button.post-like[aria-pressed="true"]:disabled { color: var(--color-danger); background: color-mix(in srgb, var(--color-danger) 10%, var(--color-bg-secondary)); border-color: var(--color-danger); box-shadow: none; }
button.post-like:focus-visible { outline: 2px solid var(--color-danger); outline-offset: 4px; }
button.post-like:disabled { cursor: wait; background: var(--color-bg-secondary); color: var(--color-danger); border-color: var(--color-border); box-shadow: none; opacity: .65; }
.post-like-count { font-variant-numeric: tabular-nums; min-width: 1ch; }
button.post-share { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-3); width: 148px; height: 44px; box-sizing: border-box; padding: 0 var(--space-4); appearance: none; border: 1px solid var(--color-border); border-radius: var(--radius-full); background: var(--color-bg-secondary); color: #3b82f6; box-shadow: none; font-family: inherit; font-size: var(--text-lg); font-weight: var(--font-bold); cursor: pointer; transition: color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast); }
button.post-share iconify-icon { color: #3b82f6; }
button.post-share:hover, button.post-share:active { color: #3b82f6; background: color-mix(in srgb, #3b82f6 10%, var(--color-bg-secondary)); border-color: #3b82f6; box-shadow: none; }
button.post-share:focus-visible { outline: 2px solid #3b82f6; outline-offset: 4px; }
button.post-reward { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-3); width: 148px; height: 44px; box-sizing: border-box; padding: 0 var(--space-4); appearance: none; border: 1px solid var(--color-border); border-radius: var(--radius-full); background: var(--color-bg-secondary); color: #f59e0b; box-shadow: none; font-family: inherit; font-size: var(--text-lg); font-weight: var(--font-bold); cursor: pointer; transition: color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast); }
button.post-reward iconify-icon { color: #f59e0b; }
button.post-reward:hover, button.post-reward:active { color: #f59e0b; background: color-mix(in srgb, #f59e0b 12%, var(--color-bg-secondary)); border-color: #f59e0b; box-shadow: none; }
button.post-reward:focus-visible { outline: 2px solid #f59e0b; outline-offset: 4px; }

.post-share-modal[hidden] { display: none; }
.post-share-modal { position: fixed; inset: 0; z-index: 10020; display: flex; align-items: center; justify-content: center; padding: var(--space-5); text-align: left; }
.post-share-overlay { position: absolute; inset: 0; background: rgba(15, 23, 42, .72); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.post-share-dialog { position: relative; width: min(560px, 100%); max-height: calc(100vh - 40px); overflow: auto; padding: var(--space-8); border: 1px solid var(--color-border); border-radius: calc(var(--radius-xl) + 4px); background: var(--color-bg-secondary); box-shadow: var(--shadow-xl); animation: post-share-dialog-in 220ms ease-out; }
.post-share-close { position: absolute; top: var(--space-4); right: var(--space-4); width: 36px; height: 36px; padding: 0; border: 1px solid var(--color-border); border-radius: var(--radius-full); background: var(--color-bg-tertiary); color: var(--color-text-secondary); box-shadow: none; }
.post-share-close:hover { background: var(--color-bg-hover); color: var(--color-text-primary); box-shadow: none; }
.post-share-header { padding-right: var(--space-10); }
.post-share-kicker { display: block; margin-bottom: var(--space-2); color: var(--color-primary); font-size: var(--text-xs); font-weight: var(--font-bold); letter-spacing: .16em; }
.post-share-header h2 { margin: 0; color: var(--color-text-primary); font-size: var(--text-2xl); }
.post-share-header p { margin: var(--space-2) 0 0; color: var(--color-text-secondary); }
.post-share-options { margin-top: var(--space-6); }
.post-share-copy { width: 100%; min-height: 44px; gap: var(--space-2); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-bg-tertiary); color: var(--color-text-primary); box-shadow: none; }
.post-share-copy:hover { background: var(--color-bg-hover); color: var(--color-primary); border-color: var(--color-primary); box-shadow: none; }
.post-share-options-title { margin: 0 0 var(--space-3); color: var(--color-text-primary); font-weight: var(--font-semibold); }
.post-share-platforms { display: grid; grid-template-columns: repeat(4, minmax(70px, 1fr)); gap: var(--space-3); }
.post-share-platform { display: flex; flex-direction: column; gap: var(--space-2); min-height: 82px; padding: var(--space-3); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-bg-secondary); color: var(--color-text-secondary); box-shadow: none; }
.post-share-platform iconify-icon { font-size: 1.55rem; }
.post-share-platform:hover { transform: translateY(-2px); background: var(--color-bg-tertiary); box-shadow: var(--shadow-sm); }
.post-share-platform.is-wechat iconify-icon { color: #07c160; }
.post-share-platform.is-qq iconify-icon { color: #12b7f5; }
.post-share-platform.is-qzone iconify-icon { color: #f5b400; }
.post-share-platform.is-weibo iconify-icon { color: #e6162d; }
.post-share-copy { margin-top: var(--space-4); }
.post-share-feedback { min-height: 1.5em; margin: var(--space-3) 0 0; color: var(--color-text-secondary); font-size: var(--text-sm); text-align: center; }
@keyframes post-share-dialog-in { from { opacity: 0; transform: translateY(12px) scale(.97); } to { opacity: 1; transform: none; } }
@media (max-width: 700px) {
  .post-share-dialog { padding: var(--space-6) var(--space-4); }
  .post-share-platforms { grid-template-columns: repeat(2, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .post-share-dialog { animation: none; } }

.post-reward-modal[hidden] { display: none; }
.post-reward-modal { position: fixed; inset: 0; z-index: 10020; display: flex; align-items: center; justify-content: center; padding: var(--space-5); text-align: left; }
.post-reward-overlay { position: absolute; inset: 0; background: rgba(15, 23, 42, .72); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.post-reward-dialog { position: relative; width: min(760px, 100%); max-height: calc(100vh - 40px); overflow: auto; padding: var(--space-8); border: 1px solid var(--color-border); border-radius: calc(var(--radius-xl) + 4px); background: var(--color-bg-secondary); box-shadow: var(--shadow-xl); animation: post-share-dialog-in 220ms ease-out; }
.post-reward-close { position: absolute; top: var(--space-4); right: var(--space-4); width: 36px; height: 36px; padding: 0; border: 1px solid var(--color-border); border-radius: var(--radius-full); background: var(--color-bg-tertiary); color: var(--color-text-secondary); box-shadow: none; }
.post-reward-close:hover { background: var(--color-bg-hover); color: var(--color-text-primary); box-shadow: none; }
.post-reward-header { padding-right: var(--space-10); }
.post-reward-kicker { display: block; margin-bottom: var(--space-2); color: #d97706; font-size: var(--text-xs); font-weight: var(--font-bold); letter-spacing: .16em; }
.post-reward-header h2 { margin: 0; color: var(--color-text-primary); font-size: var(--text-2xl); }
.post-reward-header p { margin: var(--space-2) 0 0; color: var(--color-text-secondary); }
.post-reward-codes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-6); }
.post-reward-code { margin: 0; padding: var(--space-3); border: 1px solid var(--color-border); border-radius: var(--radius-xl); background: var(--color-bg-tertiary); text-align: center; }
.post-reward-image-wrap { overflow: hidden; aspect-ratio: 1; border-radius: var(--radius-lg); background: #fff; }
.post-reward-code img { display: block; width: 100%; height: 100%; object-fit: contain; }
.post-reward-code figcaption { display: flex; align-items: center; justify-content: center; gap: var(--space-2); margin-top: var(--space-3); color: var(--color-text-primary); font-weight: var(--font-medium); }
.post-reward-code figcaption iconify-icon { font-size: 1.15rem; }
.post-reward-code.is-alipay figcaption iconify-icon { color: #1677ff; }
.post-reward-code.is-qq figcaption iconify-icon { color: #12b7f5; }
.post-reward-code.is-wechat figcaption iconify-icon { color: #07c160; }
@media (max-width: 640px) {
  .post-reward-dialog { padding: var(--space-6) var(--space-4); }
  .post-reward-codes { grid-template-columns: 1fr; }
  .post-reward-code { width: min(260px, 100%); margin-inline: auto; }
}
@media (prefers-reduced-motion: reduce) { .post-reward-dialog { animation: none; } }
@media (prefers-reduced-motion: no-preference) {
  .post-like.is-liked iconify-icon { animation: post-like-pop 480ms cubic-bezier(.2, .9, .3, 1.25); }
  @keyframes post-like-pop {
    0%, 100% { transform: scale(1); }
    38% { transform: scale(1.65) rotate(-8deg); }
    62% { transform: scale(.82) rotate(4deg); }
    82% { transform: scale(1.18) rotate(-2deg); }
  }
}
