/* Ch 11 (C11). Scoped under [data-chapter="twins"]; tokens only. See docs/requests/twins.md #4, #5. */
[data-chapter="twins"] .tw-pair{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s-4) var(--s-5)}
[data-chapter="twins"] .tw-pair>svg{display:block;width:290px;max-width:100%;height:auto;font-family:var(--font-sans);overflow:visible}
[data-chapter="twins"] .tw-faint{opacity:.4}
[data-chapter="twins"] .tw-recv{stroke:var(--c-light);stroke-width:1.75}
[data-chapter="twins"] #lab-twins-1 .lab-stage{min-height:688px}
[data-chapter="twins"] #lab-twins-3 .lab-stage{min-height:845px}
@media (max-width:899px){[data-chapter="twins"] #lab-twins-1 .lab-stage{min-height:calc(96vw - 226px)}
[data-chapter="twins"] #lab-twins-3 .lab-stage{min-height:850px}
}
@media (max-width:801px){[data-chapter="twins"] #lab-twins-1 .lab-stage{min-height:calc(96vw + 470px)}
[data-chapter="twins"] #lab-twins-3 .lab-stage{min-height:1165px}
}
@media (max-width:479px){[data-chapter="twins"] #lab-twins-1 .lab-stage{min-height:945px}
[data-chapter="twins"] #lab-twins-3 .lab-stage{min-height:1285px}
}
/* lab-twins-2 plots x from -1 to 4.5 ly, so its diagram is as tall as the widget allows: min(1.5 x width, 78vh).
   The reserved height is that plus the controls (with the card switch), the tally bar and (below 802px) the stacked side panel. */
[data-chapter="twins"] #lab-twins-2 .lab-stage{min-height:calc(min(78vh, 867px) + 305px)}
@media (max-width:1299px){[data-chapter="twins"] #lab-twins-2 .lab-stage{min-height:calc(min(1.5 * (100vw - 434px), 78vh, 765px) + 311px)}}
@media (max-width:899px){[data-chapter="twins"] #lab-twins-2 .lab-stage{min-height:calc(min(1.5 * (100vw - 434px), 78vh, 765px) + 334px)}}
@media (max-width:801px){[data-chapter="twins"] #lab-twins-2 .lab-stage{min-height:calc(min(1.5 * (100vw - 58px), 78vh) + 572px)}}
@media (max-width:559px){[data-chapter="twins"] #lab-twins-2 .lab-stage{min-height:calc(min(1.5 * (100vw - 58px), 78vh) + 593px)}}
@media (max-width:401px){[data-chapter="twins"] #lab-twins-2 .lab-stage{min-height:calc(min(1.5 * (100vw - 58px), 78vh) + 713px)}}
/* lab-twins-2: one twin's cards at a time (marks tagged by twins.js) */
[data-chapter="twins"] :is(.tw-show-lin [data-tw-src="rae"],.tw-show-rae [data-tw-src="lin"]){display:none}
[data-chapter="twins"] .tw-card-filter{flex-basis:100%}
[data-chapter="twins"] .tw-tally-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-4);margin-top:var(--s-3);padding:var(--s-3);border:1px dashed var(--c-light);border-radius:var(--r-m);background:var(--tint-light)}
[data-chapter="twins"] .tw-tally-bar .stx-note{flex:1 1 16rem;color:var(--ink)}
[data-chapter="twins"] .tw-now-figure{min-width:0}
[data-chapter="twins"] .tw-now-svg{display:block;width:100%;max-width:340px;height:auto;margin:0 auto;font-family:var(--font-sans);overflow:hidden;background:var(--surface);touch-action:pan-y}
[data-chapter="twins"] .tw-now-svg .tw-small{font-size:11px}
[data-chapter="twins"] :is(.tw-now-svg,.tw-legend) .p-now-rkt{stroke-dasharray:1.5 4.5;stroke-linecap:round}
[data-chapter="twins"] .tw-now-cur{stroke-width:2.75}
[data-chapter="twins"] .tw-ghost .p-now-rkt{stroke-width:1}
[data-chapter="twins"] .tw-now-tag{font-size:12px;font-weight:600}
[data-chapter="twins"] .tw-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:2px var(--s-4);margin:var(--s-2) 0 0;font-size:.8rem;color:var(--ink-muted)}
[data-chapter="twins"] .tw-leg-item{display:inline-flex;align-items:center;gap:6px}
[data-chapter="twins"] .tw-leg-item[hidden]{display:none}
[data-chapter="twins"] .tw-swatch{width:28px;height:10px;flex:0 0 auto;overflow:visible}
[data-chapter="twins"] .tw-now-lin{stroke-width:1.5}
[data-chapter="twins"] .tw-ghost{opacity:.45}
[data-chapter="twins"] .tw-brace{fill:none;stroke:var(--c-rocket);stroke-width:1.5}
[data-chapter="twins"] .tw-brace-label{fill:var(--c-rocket);font-size:12px}
[data-chapter="twins"] .tw-hit{fill:var(--surface);stroke:var(--c-rocket);stroke-width:2.25}
[data-chapter="twins"] .tw-hit-lab{fill:var(--c-lab);stroke:var(--surface);stroke-width:2;paint-order:stroke}
[data-chapter="twins"] .tw-marker-ring{fill:var(--tint-rocket);stroke:var(--c-rocket);stroke-width:1;stroke-dasharray:3 2}
[data-chapter="twins"] .tw-read{display:flex;align-items:center;gap:var(--s-3);padding:8px 10px;background:var(--surface-2);border-radius:var(--r-m);min-width:0}
[data-chapter="twins"] .tw-read>div{display:flex;flex-direction:column;gap:2px;min-width:0}
[data-chapter="twins"] .tw-read[hidden]{display:none}
[data-chapter="twins"] .tw-cap{font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
[data-chapter="twins"] .tw-cap.rkt,[data-chapter="twins"] .tw-big.rkt{color:var(--c-rocket)}
[data-chapter="twins"] .tw-cap.lab,[data-chapter="twins"] .tw-big.lab{color:var(--c-lab)}
[data-chapter="twins"] .tw-big{font:600 1.3rem var(--font-sans);font-variant-numeric:tabular-nums;line-height:1.15;white-space:nowrap}
[data-chapter="twins"] .tw-clock{flex:0 0 auto;width:44px;height:44px}
[data-chapter="twins"] .tw-clock-face{fill:var(--surface);stroke:currentColor;stroke-width:2}
[data-chapter="twins"] .tw-clock.rkt{color:var(--c-rocket)}
[data-chapter="twins"] .tw-clock.lab{color:var(--c-lab)}
[data-chapter="twins"] .tw-clock-ticks{fill:none;stroke:var(--ink-muted);stroke-width:1.2}
[data-chapter="twins"] .tw-clock-hand{fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
[data-chapter="twins"] .tw-clock-pin{fill:currentColor}
[data-chapter="twins"] .tw-jump-note{margin:0;padding:8px 10px;font-size:.8rem;line-height:1.45;border-left:3px solid var(--c-rocket);background:var(--tint-rocket);border-radius:0 var(--r-s) var(--r-s) 0}
[data-chapter="twins"] .tw-jump-note[hidden]{display:none}
[data-chapter="twins"] .tw-now-controls .ui-slider{flex:1 1 15rem}
[data-chapter="twins"] .tw-glow{fill:var(--tint-light);stroke:none}
[data-chapter="twins"] .tw-panel-title{font-weight:700}
@media (max-width:479px){[data-chapter="twins"] .ex-field.is-live{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label label" "input unit" "preview preview";margin-right:0}
[data-chapter="twins"] .ex-field.is-live .ex-input-wrap{display:block}
[data-chapter="twins"] .ex-field.is-live .ex-input{width:100%}
}
[data-chapter="twins"] :is(.beat,.callout,.reconcile,.deep-dive,details.solution,details.hint,.ex-prompt,.ex-model,.code-task)>:is(p,ul,ol,pre,aside)+:is(p,ul,ol,pre){margin-top:var(--flow,1em)}
[data-chapter="twins"] .tw-try-list{margin:0;padding-left:1.4em}
[data-chapter="twins"] .tw-try-list>li+li{margin-top:var(--s-2)}
/* Ask Nature: Hafele–Keating totals inline, and a small sketch of the non-spinning frame */
[data-chapter="twins"] .tw-hk-table{width:auto;min-width:min(100%,340px);font-family:var(--font-sans);font-size:.85rem;font-variant-numeric:tabular-nums}
[data-chapter="twins"] .tw-hk-table :is(td,th){padding:.35em .9em .35em 0;white-space:nowrap}
[data-chapter="twins"] .callout .table-scroll{margin-block:var(--s-3)}
[data-chapter="twins"] .tw-hk-sketch{margin:var(--s-3) auto;max-width:300px;text-align:center}
[data-chapter="twins"] .tw-hk-sketch svg{display:block;width:100%;height:auto;font-family:var(--font-sans);overflow:visible}
[data-chapter="twins"] .tw-hk-sketch figcaption{margin-top:var(--s-1);font-size:.8rem;color:var(--ink-muted)}
[data-chapter="twins"] .tw-now-scrub{max-width:340px;margin:var(--s-2) auto 0}
[data-chapter="twins"] .tw-hk-table .tw-hk-total>*{font-weight:700}
