/* Ch 7 (C07) */

[data-chapter="simultaneity"] .sim-orient { margin: var(--s-6) 0 0; max-width: 40rem; }
[data-chapter="simultaneity"] :is(.sim-orient, .sim-key) ol { margin: var(--s-3) 0 0; padding-left: 1.5em; }
[data-chapter="simultaneity"] :is(.sim-orient, .sim-key) li + li { margin-top: var(--s-2); }
[data-chapter="simultaneity"] .sim-orient > :is(p, ol) + :is(p, ol) { margin-top: var(--s-3); }
[data-chapter="simultaneity"] .sim-key { padding: var(--s-4) var(--s-5) var(--s-3); border-bottom: 1px solid var(--rule); font-size: .92rem; }
[data-chapter="simultaneity"] .sim-key > details { margin-top: var(--s-2); }
[data-chapter="simultaneity"] .sim-key summary { font: 700 .78rem var(--font-sans); letter-spacing: .08em; text-transform: uppercase; }
[data-chapter="simultaneity"] :is(.sim-nobr, #lab-simultaneity-2 .ui-value, #lab-simultaneity-3 .ui-value) { white-space: nowrap; }
[data-chapter="simultaneity"] .sim-note { font-size: .85rem; color: var(--ink-muted); margin-top: var(--s-2); }

[data-chapter="simultaneity"] .sim-pair { display: flex; flex-wrap: wrap; gap: var(--s-4); justify-content: center; }
[data-chapter="simultaneity"] .sim-pair > svg { flex: 1 1 260px; max-width: 330px; height: auto; display: block; font-family: var(--font-sans); overflow: visible; }
[data-chapter="simultaneity"] .sim-hook-art { margin: var(--s-5) 0; }
[data-chapter="simultaneity"] .sim-hook-art > svg { display: block; width: 100%; max-width: 640px; height: auto; margin: 0 auto; font-family: var(--font-sans); }
[data-chapter="simultaneity"] .p-bolt, [data-chapter="simultaneity"] .sim-bolt { fill: var(--c-light); stroke: var(--surface); stroke-width: 1.5; stroke-linejoin: round; paint-order: stroke; }
[data-chapter="simultaneity"] .p-car, [data-chapter="simultaneity"] .sim-car { fill: var(--tint-rocket); stroke: var(--c-rocket); stroke-width: 1.75; stroke-dasharray: 6 4; }
[data-chapter="simultaneity"] .p-window { fill: var(--surface); stroke: var(--c-rocket); stroke-width: 1; }
[data-chapter="simultaneity"] .p-platform { fill: var(--tint-lab); stroke: var(--c-lab); stroke-width: 1.5; }
[data-chapter="simultaneity"] .p-tachyon { fill: none; stroke: var(--c-bad); stroke-width: 2.25; stroke-linecap: round; stroke-dasharray: 1 5; }
[data-chapter="simultaneity"] .p-tachyon-head { fill: none; stroke: var(--c-bad); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
[data-chapter="simultaneity"] .p-label-bad { fill: var(--c-bad); }
[data-chapter="simultaneity"] .sim-scorch-mark { fill: var(--ink); stroke: none; }
[data-chapter="simultaneity"] .sim-strike-drop { fill: none; stroke: var(--c-light); stroke-width: 1.25; stroke-dasharray: 1 4; stroke-linecap: round; }
[data-chapter="simultaneity"] .p-world-rkt.sim-world-thin { stroke-width: 2; }
[data-chapter="simultaneity"] .p-light.sim-faint { opacity: .45; }
/* a label set into its own line: a wide paper halo breaks the line around the text */
[data-chapter="simultaneity"] .p-label.sim-inline-label { stroke-width: 5px; }

/* Lab stage reserves: the smallest measured live stage height in each width band, so the reserve never leaves an
   empty gap; re-measured after the comprehension retest (Lab 1 gate and note, Lab 2 scrubber under the diagram). */
@media (scripting: enabled) {
  [data-chapter="simultaneity"] #lab-simultaneity-1 .lab-stage { min-height: 850px; }
  [data-chapter="simultaneity"] #lab-simultaneity-2 .lab-stage { min-height: 1062px; }
  [data-chapter="simultaneity"] #lab-simultaneity-3 .lab-stage { min-height: 568px; }
  [data-chapter="simultaneity"] #lab-simultaneity-4 .lab-stage { min-height: 436px; }
}
@media (scripting: enabled) and (max-width: 899px) {
  [data-chapter="simultaneity"] #lab-simultaneity-2 .lab-stage { min-height: 1106px; }
  [data-chapter="simultaneity"] #lab-simultaneity-4 .lab-stage { min-height: 476px; }
}
@media (scripting: enabled) and (min-width: 700px) and (max-width: 723px) {
  [data-chapter="simultaneity"] #lab-simultaneity-2 .lab-stage { min-height: 1460px; }
}
@media (scripting: enabled) and (max-width: 699px) {
  [data-chapter="simultaneity"] #lab-simultaneity-1 .lab-stage { min-height: 870px; }
  [data-chapter="simultaneity"] #lab-simultaneity-2 .lab-stage { min-height: 1314px; }
  [data-chapter="simultaneity"] #lab-simultaneity-3 .lab-stage { min-height: 702px; }
  [data-chapter="simultaneity"] #lab-simultaneity-4 .lab-stage { min-height: 482px; }
}
@media (scripting: enabled) and (max-width: 439px) {
  [data-chapter="simultaneity"] #lab-simultaneity-1 .lab-stage { min-height: 1182px; }
  [data-chapter="simultaneity"] #lab-simultaneity-2 .lab-stage { min-height: 1404px; }
  [data-chapter="simultaneity"] #lab-simultaneity-3 .lab-stage { min-height: 688px; }
  [data-chapter="simultaneity"] #lab-simultaneity-4 .lab-stage { min-height: 596px; }
}
@media (scripting: enabled) and (max-width: 374px) {
  [data-chapter="simultaneity"] #lab-simultaneity-1 .lab-stage { min-height: 1258px; }
  [data-chapter="simultaneity"] #lab-simultaneity-2 .lab-stage { min-height: 1432px; }
  [data-chapter="simultaneity"] #lab-simultaneity-3 .lab-stage { min-height: 642px; }
  [data-chapter="simultaneity"] #lab-simultaneity-4 .lab-stage { min-height: 644px; }
}

[data-chapter="simultaneity"] .sim-fc-stage { display: grid; gap: var(--s-2); }
[data-chapter="simultaneity"] .sim-panel, [data-chapter="simultaneity"] .sim-scene { display: block; width: 100%; background: var(--surface); border: 1px solid var(--rule); border-radius: var(--r-s); font-family: var(--font-sans); }
[data-chapter="simultaneity"] .sim-panel-rae { background: linear-gradient(var(--tint-rocket), var(--tint-rocket)), var(--surface); }
[data-chapter="simultaneity"] .sim-scene { border-bottom: 0; border-radius: var(--r-s) var(--r-s) 0 0; }
[data-chapter="simultaneity"] .sim-tl-stage .stx-diagram { border: 1px solid var(--rule); border-top: 1px dashed var(--rule); border-radius: 0 0 var(--r-s) var(--r-s); overflow: hidden; }
[data-chapter="simultaneity"] .sim-frame-name, [data-chapter="simultaneity"] .sim-own-clock { font-size: 11px; font-weight: 600; letter-spacing: .06em; fill: var(--ink-muted); }
[data-chapter="simultaneity"] .sim-rail { stroke: var(--ink-muted); stroke-width: 1.5; }
[data-chapter="simultaneity"] .sim-platform { stroke: var(--c-lab); stroke-width: 2.5; }
[data-chapter="simultaneity"] .sim-rail-ticks, [data-chapter="simultaneity"] .sim-posts { fill: none; stroke: var(--c-lab); stroke-width: 1.25; }
[data-chapter="simultaneity"] .sim-wheel { fill: var(--surface); stroke: var(--c-rocket); stroke-width: 1.5; }
[data-chapter="simultaneity"] .sim-lamp { fill: var(--c-light); stroke: none; }
[data-chapter="simultaneity"] .sim-ray-head { fill: none; stroke: var(--c-light); stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
[data-chapter="simultaneity"] .sim-ray, [data-chapter="simultaneity"] .sim-spark { fill: none; stroke: var(--c-light); stroke-width: 2; stroke-linecap: round; }
[data-chapter="simultaneity"] text.sim-rae, [data-chapter="simultaneity"] text.sim-rkt { fill: var(--c-rocket); }
[data-chapter="simultaneity"] text.sim-lin, [data-chapter="simultaneity"] text.sim-lab { fill: var(--c-lab); }
[data-chapter="simultaneity"] .sim-hit-label { font-size: 11px; fill: var(--c-light-text); paint-order: stroke; stroke: var(--surface); stroke-width: 3px; }
[data-chapter="simultaneity"] .sim-clock-face { fill: var(--surface); stroke-width: 1.5; }
[data-chapter="simultaneity"] .sim-clock-face.sim-rae, [data-chapter="simultaneity"] .sim-clock-hand.sim-rae { stroke: var(--c-rocket); }
[data-chapter="simultaneity"] .sim-clock-face.sim-lin, [data-chapter="simultaneity"] .sim-clock-hand.sim-lin { stroke: var(--c-lab); }
[data-chapter="simultaneity"] .sim-clock-face.sim-rae { stroke-dasharray: 3 2; }
[data-chapter="simultaneity"] .sim-clock-hand { stroke-width: 1.75; stroke-linecap: round; }
[data-chapter="simultaneity"] .sim-clock-post { stroke: var(--c-rocket); stroke-width: 1; stroke-dasharray: 2 2; }
[data-chapter="simultaneity"] .sim-clock-num { font-size: 11px; font-variant-numeric: tabular-nums; font-weight: 600; }
[data-chapter="simultaneity"] .sim-scene-tag { font-size: 11px; fill: var(--ink-muted); }
[data-chapter="simultaneity"] .sim-scene-tag.sim-own-clock { font-weight: 600; letter-spacing: .06em; fill: var(--ink); }
[data-chapter="simultaneity"] .sim-cast.sim-lab { color: var(--c-lab); }
[data-chapter="simultaneity"] .sim-cast.sim-rkt { color: var(--c-rocket); }
[data-chapter="simultaneity"] .sim-scorch { stroke: var(--ink); stroke-width: 3; stroke-linecap: round; }
[data-chapter="simultaneity"] .sim-train-band { fill: var(--tint-rocket); }
[data-chapter="simultaneity"] .sim-train-edge { stroke: var(--c-rocket); stroke-width: 1; stroke-dasharray: 6 4; opacity: .7; }
/* now-lines: thin dots, never mistaken for a worldline (solid / 6-4 dashes) */
[data-chapter="simultaneity"] .sim-now { stroke-dasharray: 1.5 4.5; stroke-linecap: round; stroke-width: 1.75; }
[data-chapter="simultaneity"] .sim-now.is-mine { stroke-width: 2.25; }
[data-chapter="simultaneity"] .sim-now-lab { stroke: var(--c-lab); }
[data-chapter="simultaneity"] .sim-now-rkt { stroke: var(--c-rocket); }
[data-chapter="simultaneity"] .sim-now-label { font-size: 12px; font-weight: 600; paint-order: stroke; stroke: var(--surface); stroke-width: 5px; stroke-linejoin: round; }
[data-chapter="simultaneity"] .sim-here { fill: var(--surface); stroke-width: 2; }
[data-chapter="simultaneity"] .sim-here.sim-lab { stroke: var(--c-lab); }
[data-chapter="simultaneity"] .sim-here.sim-rkt { stroke: var(--c-rocket); }
[data-chapter="simultaneity"] .sim-path { fill: none; stroke: var(--c-light); stroke-width: 1.5; stroke-dasharray: 1 4; stroke-linecap: round; }
/* train frame: Lin's tilted axes step back, so Rae's level now-line leads the eye */
[data-chapter="simultaneity"] .sim-tl.is-train .stx-num.stx-lab { display: none; }
[data-chapter="simultaneity"] .sim-tl.is-train :is(.stx-axis, .stx-axis-head, .stx-tick).stx-lab { opacity: .3; }
[data-chapter="simultaneity"] .sim-look { margin: var(--s-2) 0 0; font-size: .85rem; color: var(--ink); }
[data-chapter="simultaneity"] .sim-same { margin: var(--s-1) 0 0; padding: 2px var(--s-2); border-radius: var(--r-s); transition: background-color .3s; }
[data-chapter="simultaneity"] .sim-same.is-flash { background: var(--tint-rocket); color: var(--ink); }
@media (prefers-reduced-motion: reduce) { [data-chapter="simultaneity"] .sim-same { transition: none; } }
[data-chapter="simultaneity"] .sim-goal { margin: 0; font-size: .8rem; padding: var(--s-2) var(--s-3); border-radius: var(--r-s); background: var(--surface-2); border-left: 3px solid var(--c-lab); }
[data-chapter="simultaneity"] .sim-goal.is-ok { border-left-color: var(--c-ok); color: var(--c-ok); font-weight: 600; }
[data-chapter="simultaneity"] .sim-goal.is-ok::before { content: "\2713  "; }

[data-chapter="simultaneity"] .sim-plat-band { fill: var(--tint-lab); stroke: none; }
[data-chapter="simultaneity"] .sim-flash-mark { stroke: var(--c-light); stroke-width: 2.5; stroke-linecap: round; }
@media (max-width: 559px) {
  [data-chapter="simultaneity"] .sim-hook-art .p-label, [data-chapter="simultaneity"] .sim-hook-art .p-annot { font-size: 21px; }
}

/* ---- comprehension retest (2026-10-06) */
/* Try-it answers wait behind a "Check" disclosure (the prologue's pattern) */
[data-chapter="simultaneity"] .sim-compare { font-size: .92em; margin-top: var(--s-1); }
[data-chapter="simultaneity"] .sim-compare > summary { font-family: var(--font-sans); font-size: .8rem; font-weight: 600; color: var(--c-lab); min-height: 24px; display: inline-flex; align-items: center; gap: .4em; cursor: pointer; }
[data-chapter="simultaneity"] .sim-compare > summary::-webkit-details-marker { display: none; }
[data-chapter="simultaneity"] .sim-compare > summary { list-style: none; }
[data-chapter="simultaneity"] .sim-compare > summary::before { content: "\25B8"; transition: transform var(--t-ui) var(--ease); }
[data-chapter="simultaneity"] .sim-compare[open] > summary::before { transform: rotate(90deg); }
[data-chapter="simultaneity"] .sim-compare > p { margin-top: var(--s-1); }
@media (prefers-reduced-motion: reduce) { [data-chapter="simultaneity"] .sim-compare > summary::before { transition: none; } }
/* optional letter derivations */
[data-chapter="simultaneity"] .sim-tag { display: inline-block; margin-right: .5em; padding: 0 .45em; border: 1px solid var(--rule); border-radius: var(--r-s); font: 700 .68rem/1.6 var(--font-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--ink-muted); vertical-align: .1em; }
[data-chapter="simultaneity"] .sim-optional { font-size: .92rem; color: var(--ink-muted); }
/* two formulas, whose length */
[data-chapter="simultaneity"] .sim-two { margin: var(--s-5) 0; max-width: 40rem; }
[data-chapter="simultaneity"] .sim-two dl { margin: var(--s-3) 0 0; display: grid; gap: var(--s-3); }
[data-chapter="simultaneity"] .sim-two dl > div { display: grid; grid-template-columns: minmax(7.5em, max-content) 1fr; gap: var(--s-2) var(--s-4); align-items: baseline; }
[data-chapter="simultaneity"] .sim-two dt { font-weight: 600; white-space: nowrap; }
[data-chapter="simultaneity"] .sim-two dd { margin: 0; }
[data-chapter="simultaneity"] .sim-two > p { margin-top: var(--s-3); font-size: .92rem; }
@media (max-width: 439px) { [data-chapter="simultaneity"] .sim-two dl > div { grid-template-columns: 1fr; gap: var(--s-1); } }
/* plates: now-lines are thin dots in every Ch 7 figure, so they never pass for a (dashed) worldline */
[data-chapter="simultaneity"] :is(.p-now-rkt, .p-now-lab) { stroke-dasharray: 1.5 4.5; stroke-linecap: round; stroke-width: 1.75; }
[data-chapter="simultaneity"] .sim-earth { fill: var(--tint-lab); stroke: var(--c-lab); stroke-width: 1.5; }
[data-chapter="simultaneity"] .sim-ring-clock { fill: var(--surface); stroke: var(--c-lab); stroke-width: 1.75; }
[data-chapter="simultaneity"] .sim-ring-arrow { fill: none; stroke: var(--ink-muted); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
#fig-simultaneity-4 > svg { display: block; max-width: 100%; height: auto; margin: 0 auto; font-family: var(--font-sans); overflow: visible; }
/* Lab 1: the jump button for the moment shown; clock numbers still behind the gate */
[data-chapter="simultaneity"] .stx-btnrow .btn.sim-jump.is-current { border-color: var(--c-lab); box-shadow: inset 0 0 0 1px var(--c-lab); }
[data-chapter="simultaneity"] .sim-clock-num.sim-clock-hidden { fill: var(--ink-muted); }
[data-chapter="simultaneity"] .sim-inv-note { margin-top: var(--s-2); }
/* Lab 2: unseen sightings, the scrubber under the diagram, the one-line strike readout */
[data-chapter="simultaneity"] .sim-tl .stx-ev.sim-unseen { display: none; }
[data-chapter="simultaneity"] .sim-tl .sim-scrub { margin-top: var(--s-2); }
[data-chapter="simultaneity"] .sim-tl .sim-scrub .ui-slider { flex: 1 1 100%; }
[data-chapter="simultaneity"] .sim-live { margin: var(--s-1) 0 0; font: 600 .85rem var(--font-sans); font-variant-numeric: tabular-nums; color: var(--ink); }
[data-chapter="simultaneity"] .sim-axis-tag { font-size: 11px; }
/* Lab 3: now-lines dotted (the rocket's axes stay dashed); labels step aside at high speed; the frame badge moves
   to the bottom-left corner, off the t-axis name */
[data-chapter="simultaneity"] #lab-simultaneity-3 .stx-now { stroke-dasharray: 1.5 4.5; stroke-linecap: round; stroke-width: 1.75; }
[data-chapter="simultaneity"] #lab-simultaneity-3.sim-fast .stx-now-label { display: none; }
[data-chapter="simultaneity"] #lab-simultaneity-3 .stx-frame-badge { top: auto; bottom: 8px; }
