/* Loaded only by vibration articles. Keep wide engineering tables readable. */
.post-article-content table thead th { background: #23394f !important; color: #f7fbff !important; }
.post-article-content table { width: 100%; }
.post-article-content .learning-figure { max-width: 100%; overflow-x: auto; }
.post-article-content .learning-figure img[src*="/vibration_notes/"] { display: block; width: 100%; height: auto; }
.vibration-response-demo { box-sizing: border-box; max-width: 100%; margin: 1.6rem 0; padding: 1rem; border: 1px solid #bdcfdc; border-radius: 12px; background: #f6f9fc; color: #183044; font-family: system-ui, sans-serif; }
.vibration-response-demo * { box-sizing: border-box; }
.vibration-response-demo .vibration-demo-title { margin: 0 0 .8rem; padding: 0; font-size: 1.12rem; color: #183044; }
.vibration-demo-controls { display: flex; flex-wrap: wrap; gap: .8rem 1.2rem; align-items: end; }
.vibration-demo-controls label { display: grid; grid-template-columns: 1fr auto; gap: .4rem; flex: 1 1 220px; min-width: 0; font-size: .9rem; }
.vibration-demo-controls input { grid-row: 2; grid-column: 1 / -1; width: 100%; accent-color: #246aab; min-height: 32px; }
.vibration-demo-controls output { font-variant-numeric: tabular-nums; }
.vibration-demo-controls button { padding: .5rem .8rem; border: 1px solid #829ab0; background: white; border-radius: 7px; color: #173f64; font: inherit; min-height: 40px; cursor: pointer; }
.vibration-demo-controls :focus-visible { outline: 3px solid #ad6717; outline-offset: 2px; }
.vibration-chart-scroll { max-width: 100%; overflow-x: auto; margin-top: .8rem; }
.vibration-chart { width: 100%; min-width: 460px; height: auto; display: block; }
.vibration-chart text { fill: #304d62; font-size: 14px; font-family: system-ui, sans-serif; }
.vibration-response-demo .vibration-demo-readout { padding: .7rem; background: #e6eef5; color: #243f55; line-height: 1.7; }
.vibration-response-demo .vibration-demo-note { color: #4a6478; font-size: .85rem; line-height: 1.65; }
@media (max-width: 600px) {
  .post-article-content .learning-figure img[src*="/vibration_notes/"] { width: 760px; min-width: 760px; max-width: none; }
  .post-article-content .learning-figure::before { content: '示意图可左右滑动查看'; display: block; width: max-content; position: sticky; left: 0; font-size: .8rem; color: #526779; margin: .3rem 0; }
  .post-article-content > table { display: block; max-width: 100%; overflow-x: auto; }
  .post-article-content > table th, .post-article-content > table td { min-width: 9rem; }
  .post-article-content > table::before { content: '表格可左右滑动查看'; display: block; width: max-content; position: sticky; left: 0; font-size: .8rem; color: #526779; margin: .3rem 0; }
  .vibration-response-demo { padding: .75rem; }
}
