.data-page .bridge-steps { grid-template-columns:repeat(4,minmax(0,1fr)); }
.data-page .bridge-lab { min-height:0; }
.data-scene { position:relative; min-height:275px; display:grid; place-items:center; }
.data-scene svg { display:block; width:100%; height:auto; max-height:310px; }
.data-scene text { font-family:var(--font-ui); fill:#284e40; }
.data-scene .scene-caption { font-size:27px; font-weight:700; }
.data-scene .scene-small { font-size:25px; }
.data-scene .scene-large { font-size:34px; font-weight:700; }
.data-scene .timer-display { fill:#fff8e9; font-size:32px; font-weight:700; }
.data-sample-note { margin:12px 2px 0; font-size:13px; line-height:1.55; color:var(--body); }
.data-record { width:100%; border-collapse:separate; border-spacing:0 7px; font-variant-numeric:tabular-nums; }
.data-record th,.data-record td { padding:8px 11px; text-align:left; }
.data-record th { font-size:12px; color:var(--body); }
.data-record td { background:#f0f2e9; color:var(--green); font-weight:700; }
.data-record td:first-child { border-radius:9px 0 0 9px; }.data-record td:last-child { border-radius:0 9px 9px 0; }
.data-record .empty { color:#8a9a8e; font-weight:400; }
.data-legend { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.data-legend span { border-radius:30px; background:#e9eee7; color:var(--green); padding:7px 11px; font-size:13px; font-weight:600; }
.data-formula { border-radius:12px; background:#e9eee7; padding:15px; margin:13px 0; color:var(--green); font-size:18px; font-weight:700; line-height:1.6; font-variant-numeric:tabular-nums; }
.data-reveal { color:var(--green); margin:12px 0 0; line-height:1.7; font-size:14px; }
.data-page .coach-footer { margin-top:auto; }
.data-page .bridge-summary .summary-columns { grid-template-columns:1fr 1fr; }
@media(min-width:700px) and (max-height:800px) {
  .data-page { padding-top:13px; }
  .data-page .bridge-heading { margin-bottom:7px; }
  .data-page .bridge-heading h1 { font-size:31px; margin:4px 0; }
  .data-page .bridge-steps { margin-bottom:6px; }
  .data-page .bridge-steps button { min-height:46px; }
  .data-page .bridge-layout { height:calc(100dvh - 250px); min-height:430px; }
  .data-page .bridge-lab,.data-page .bridge-coach { overflow-y:auto; }
  .data-page .lab-evidence { margin-top:0; }
  .data-page .coach-copy p { font-size:16px; margin:7px 0 12px; }
  .data-page .bridge-check { padding-top:12px; }
  .data-page .bridge-check h3 { font-size:16px; margin:6px 0 10px; }
  .data-page .bridge-options { gap:6px; }
  .data-page .bridge-options button { min-height:44px; padding:7px 10px; }
  .data-page .bridge-options button { font-size:14px; }
  .data-page .coach-footer { position:sticky; bottom:-14px; z-index:1; background:var(--paper); padding-top:8px; }
}
@media(min-width:951px) and (max-height:800px) {
  .data-page .bridge-lab { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(230px,.85fr); grid-template-rows:auto 1fr; column-gap:14px; align-items:start; }
  .data-page .lab-heading { grid-column:1/-1; }
  .data-page .data-scene { grid-column:1; min-height:0; }
  .data-page .bridge-variants { grid-column:1; margin-top:0; }
  .data-page .lab-evidence { grid-column:2; grid-row:2/4; padding:0; }
  .data-page .data-scene svg { max-height:265px; }
  .data-page .data-formula { font-size:16px; padding:11px; }
}
@media(min-width:700px) and (max-width:950px) and (max-height:800px) { .data-scene { min-height:0; }.data-scene svg { max-height:190px; }.data-page .lab-evidence { padding-top:5px; } }
@media(max-width:600px) { .data-scene { min-height:0; }.data-page .bridge-summary .summary-columns { grid-template-columns:1fr; }.data-record th,.data-record td { padding:7px 8px; }.data-scene .scene-caption { font-size:30px; }.data-scene .scene-small { font-size:29px; } }
