.bridge-vibration{--bv-ink:#1b3446;--bv-muted:#627684;--bv-line:#d9e2e8;--bv-blue:#1d668d;--bv-sea:#227c88;--bv-orange:#bd6a38;--bv-pale:#f4f8fa;color:var(--bv-ink);margin:30px 0}
.bridge-vibration .bv-premise{font-size:13px;line-height:1.85;border-left:2px solid var(--bv-blue);padding:4px 14px;margin:12px 0 20px;max-width:1000px}
.bridge-vibration .bv-experiment{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:22px;border-top:1px solid var(--bv-line);border-bottom:1px solid var(--bv-line);padding:16px 0}
.bridge-vibration .bv-stage{min-width:0}.bridge-vibration .bv-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}
.bridge-vibration .bv-toolbar label{font-size:12px;margin-left:auto}.bridge-vibration .bv-toolbar button,.bridge-vibration .bv-toolbar select{font:inherit;font-size:12px;line-height:1.5;border:1px solid var(--bv-line);border-radius:4px;background:#fff;color:var(--bv-ink);padding:7px 10px;cursor:pointer}
.bridge-vibration .bv-toolbar button[data-bv=play]{background:var(--bv-blue);border-color:var(--bv-blue);color:#fff}.bridge-vibration button:hover{border-color:var(--bv-blue)}
.bridge-vibration canvas{display:block;width:100%;max-width:100%;height:250px}.bridge-vibration canvas[data-bv=schematic]{height:350px;background:var(--bv-pale);border:1px solid var(--bv-line)}
.bridge-vibration .bv-scrub{display:grid;grid-template-columns:auto 1fr;gap:0 14px;align-items:center;font-size:12px;margin:8px 0 22px}.bridge-vibration .bv-scrub input{margin:0;width:100%}.bridge-vibration .bv-scrub output{grid-column:1/-1;font:11px Consolas,"Microsoft YaHei",monospace;color:var(--bv-muted);margin-top:4px}
.bridge-vibration .bv-legend{display:flex;flex-wrap:wrap;gap:5px 15px;font-size:11px;color:var(--bv-muted);margin:9px 0}.bridge-vibration .bv-legend span:before{content:"";display:inline-block;vertical-align:middle;width:18px;border-top:2px solid;margin-right:5px}
.bridge-vibration .bv-baseline:before{color:#627684}.bridge-vibration .bv-added:before{color:var(--bv-sea)}.bridge-vibration .bv-tmd:before{color:var(--bv-blue)}.bridge-vibration .bv-legend .bv-mass:before{color:var(--bv-orange);border-top-style:dashed}
.bridge-vibration .bv-parameters{border-left:1px solid var(--bv-line);padding-left:20px}.bridge-vibration .bv-parameters label{display:block;font-size:12px;margin-bottom:17px}.bridge-vibration .bv-parameters output{float:right;font:600 14px Consolas,"Microsoft YaHei",monospace;color:var(--bv-blue)}
.bridge-vibration .bv-parameters input[type=range]{display:block;width:100%;margin-top:10px;accent-color:var(--bv-blue);cursor:pointer}.bridge-vibration .bv-tmd-controls{border-top:1px solid var(--bv-line);padding-top:15px;margin-top:17px}.bridge-vibration .bv-tmd-controls h3{margin:0 0 15px;font-size:13px}
.bridge-vibration .bv-caption{font-size:12px;line-height:1.8;color:var(--bv-muted);margin:8px 0 12px}.bridge-vibration .bv-results{margin-top:22px}.bridge-vibration .bv-results h3,.bridge-vibration .bv-stage>h3{font-size:14px;margin:0}
.bridge-vibration .bv-table-wrap{overflow-x:auto}.bridge-vibration table{border-collapse:collapse;width:100%;font-size:12px}.bridge-vibration th,.bridge-vibration td{padding:10px 12px;border-bottom:1px solid var(--bv-line);text-align:left;white-space:nowrap}.bridge-vibration thead th{font-weight:500;color:var(--bv-muted)}.bridge-vibration tbody th{font-weight:500}.bridge-vibration tbody tr:last-child{background:#eef5f8}.bridge-vibration td{font-family:Consolas,"Microsoft YaHei",monospace}.bridge-vibration .bv-amplification{color:var(--bv-orange);font-weight:700}
.bridge-vibration .bv-finding{font-size:13px;margin:13px 0;line-height:1.85}.bridge-vibration .bv-task{font-size:13px;line-height:1.9;padding:12px 16px;background:var(--bv-pale);border-left:2px solid var(--bv-sea);margin-top:18px}
.bridge-vibration .bv-model-notes{font-size:13px;line-height:1.9;border-top:1px solid var(--bv-line);padding-top:14px;margin-top:20px}.bridge-vibration .bv-model-notes summary{color:var(--bv-muted);cursor:pointer}.bridge-vibration .bv-model-notes p{max-width:1000px}.bridge-vibration .bv-equation{font-family:Georgia,"Times New Roman","Microsoft YaHei",serif;font-size:17px;line-height:2;overflow-x:auto}
.bridge-vibration button:focus-visible,.bridge-vibration select:focus-visible,.bridge-vibration input:focus-visible,.bridge-vibration summary:focus-visible{outline:2px solid var(--bv-sea);outline-offset:3px}
@media(max-width:1000px){.bridge-vibration .bv-experiment{grid-template-columns:1fr}.bridge-vibration .bv-parameters{border-left:0;border-top:1px solid var(--bv-line);padding:16px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.bridge-vibration .bv-tmd-controls{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 20px}.bridge-vibration .bv-tmd-controls h3{grid-column:1/-1}.bridge-vibration .bv-parameters>.bv-caption{grid-column:1/-1}.bridge-vibration .bv-toolbar label{margin-left:0}}
@media(max-width:600px){.bridge-vibration .bv-tmd-controls{grid-template-columns:1fr}.bridge-vibration .bv-parameters{gap:0 15px}.bridge-vibration .bv-parameters label{font-size:11px}.bridge-vibration .bv-parameters output{font-size:12px}.bridge-vibration th,.bridge-vibration td{padding:9px 7px}.bridge-vibration .bv-equation{font-size:14px}.bridge-vibration .bv-toolbar{gap:6px}.bridge-vibration .bv-toolbar label{width:100%}}
@media(prefers-reduced-motion:reduce){.bridge-vibration *{scroll-behavior:auto}}
.bridge-vibration .bv-viewer{position:relative;border:1px solid #d6e0e4;background:#f4f7f8;margin:22px 0 20px;overflow:hidden}
.bridge-vibration .bv-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;background:#fff;border-bottom:1px solid #e1e7ea}
.bridge-vibration .bv-viewer-head strong{display:block;font-size:16px;font-weight:600;letter-spacing:.03em}
.bridge-vibration .bv-viewer-head span{display:block;font-size:11px;color:#637d89;margin-top:5px}
.bridge-vibration .bv-view-buttons{display:flex;gap:7px;flex-wrap:wrap}
.bridge-vibration .bv-view-buttons button{border:1px solid #c9d5dc;background:#fff;color:#284955;padding:7px 11px;border-radius:3px;font:inherit;font-size:12px;cursor:pointer}
.bridge-vibration .bv-view-buttons button[aria-pressed=true]{background:#e6eff2;border-color:#7293a4;color:#1d506a}
.bridge-vibration canvas[data-bv=three]{width:100%;height:540px;touch-action:none;cursor:grab;outline-offset:-3px}
.bridge-vibration canvas[data-bv=three]:active{cursor:grabbing}
.bridge-vibration [data-render-mode=three] canvas[data-bv=schematic],.bridge-vibration [data-render-mode=three] .bv-fallback-note{display:none}
.bridge-vibration [data-render-mode=fallback] canvas[data-bv=three],.bridge-vibration [data-render-mode=fallback] .bv-view-buttons{display:none}
.bridge-vibration .bv-case-readings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #dce5e9;background:#fff}
.bridge-vibration .bv-case-readings>div{padding:12px 20px;border-right:1px solid #e1e7ea;display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.bridge-vibration .bv-case-readings>div:last-child{border-right:0}.bridge-vibration .bv-case-readings span{font-size:12px}.bridge-vibration .bv-case-readings output{font:600 17px Consolas,monospace;color:#526d7c}
.bridge-vibration .bv-case-readings>div:nth-child(2) output{color:#227c88}.bridge-vibration .bv-case-readings>div:nth-child(3) output{color:#1d668d}
.bridge-vibration .bv-visual-note{font-size:12px;color:#5c7582;line-height:1.85;margin:0;padding:13px 20px;border-top:1px solid #e1e7ea;background:#fbfcfc}
.bridge-vibration .bv-fallback-note{display:block;color:#975e2b}.bridge-vibration .bv-experiment{padding-top:20px;border-top:0}
