/* Surviving FXRs (Oct 6, 2026): data/surviving-fxrs.html only. Loaded after fxr-data.css (shared stage). */
.article.svf-page { max-width: none; width: 100%; }
.svf-page .data-body { container-type: size; }
.svf { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: .55rem; }
.svf-gauge { position: relative; width: 100%; aspect-ratio: 1 / 1; flex: 0 1 auto; min-height: 0; min-width: 0; }
.svf-svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.svf-panel { flex: 0 0 auto; }
.svf-tag-demo { display: none; }
.svf.is-demo .svf-tag-demo { display: inline; }
.svf.is-demo .svf-tag-est { display: none; }

.svf-panel { text-align: center; max-width: 34rem; width: 100%; margin: 0 auto; }
.svf-panel p { margin: 0; }
.svf-kicker { font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #5d5e63; }
.svf-read { font-size: 2.1rem; font-weight: 800; line-height: 1.05; letter-spacing: -.01em; font-variant-numeric: tabular-nums; margin-top: .1rem !important; }
.svf-next, .svf-demo { font-size: 1.12rem; line-height: 1.3; margin-top: .3rem !important; }
.svf-next strong, .svf-demo strong { font-variant-numeric: tabular-nums; }
.svf-demo strong:first-child { color: #c8102e; }
.svf-rate { font-size: .95rem; line-height: 1.35; margin-top: .2rem !important; color: #2c2d31; }
.svf-rate .nw { white-space: nowrap; }
.svf-cap { font-size: .84rem; line-height: 1.4; margin-top: .35rem !important; color: #5d5e63; }
.svf-ctl { margin-top: .55rem !important; }
.svf-ff[aria-pressed="true"] { background: #c8102e; border-color: #c8102e; color: #fff; }

/* Wide stage: gauge on the left, sized by the stage height; numbers on the right */
@media (min-aspect-ratio: 1/1) {
  .svf { flex-direction: row; gap: clamp(1rem, 3.5vw, 3.5rem); }
  .svf-gauge { aspect-ratio: auto; align-self: stretch; height: auto; flex: 0 1 auto; width: 55%;
               width: min(100cqh, 100cqw - 21rem - clamp(1rem, 3.5vw, 3.5rem), 860px); }
  .svf-panel { text-align: left; margin: 0; width: auto; flex: 0 1 21rem; min-width: 14rem; }
  .svf-read { font-size: 2.6rem; }
  .svf-next, .svf-demo { font-size: 1.2rem; }
}
/* Phones upright: tighter panel so the gauge keeps the room */
@media (max-width: 767.98px) and (max-aspect-ratio: 1/1) {
  .svf { gap: .35rem; }
  .svf-read { font-size: 1.6rem; }
  .svf-next, .svf-demo { font-size: 1.02rem; margin-top: .15rem !important; }
  .svf-rate { font-size: .86rem; margin-top: .1rem !important; }
  .svf-cap { font-size: .76rem; margin-top: .2rem !important; }
  .svf-ctl { margin-top: .35rem !important; }
  .svf-ff { min-height: 40px; }
}
@media (max-width: 767.98px) and (max-aspect-ratio: 1/1) and (max-height: 700px) {
  .svf-read { display: none; }
}
/* Short landscape (phones on their side) */
@media (max-height: 560px) and (min-aspect-ratio: 1/1) {
  .svf-read { font-size: 1.8rem; }
  .svf-next, .svf-demo { font-size: 1.02rem; }
  .svf-rate { font-size: .86rem; }
  .svf-cap { font-size: .76rem; }
  .svf-ff { min-height: 40px; }
}
/* Big screens */
@media (min-width: 1600px) and (min-height: 1000px) {
  .svf-panel { flex-basis: 24rem; }
  .svf-kicker { font-size: .8rem; }
  .svf-read { font-size: 3.1rem; }
  .svf-next, .svf-demo { font-size: 1.35rem; }
  .svf-rate { font-size: 1.05rem; }
  .svf-cap { font-size: .92rem; }
}
/* "In the year 2525" projections table (below the fold) and the link to the explained page */
.svf-page .data-below { padding-top: 1.25rem; }
.svf-how { margin: 1.25rem 0 2rem; font-size: .9rem; }
.svf-song { max-width: 860px; }
.svf-song table { width: 100%; }
.svf-song th[scope="row"] { width: 4.2rem; }
.svf-song td:nth-child(2) { width: 9.5rem; }
.svf-song th[scope="row"], .svf-song td:nth-child(2) { white-space: nowrap; font-variant-numeric: tabular-nums; }
@media (max-width: 599.98px) {
  .svf-song th[scope="row"], .svf-song td:nth-child(2) { width: auto; }
  .svf-song th, .svf-song td { padding-left: .5rem; padding-right: .5rem; font-size: .9rem; }
}
