/* The film player. Every class is prefixed cxf-. The player takes the page's tokens (--cx-paper, --cx-ink, ...) when the page
   defines them, and the design stack's values when it does not.
   Paper: "The Five Postulates of Quantum Mechanics on the Record: Theorems, Premises, and What Is Owed" (preprint, posted 14 November 2026, not peer reviewed). */
.cxf {
  --f-paper: var(--cx-paper, #faf8f3); --f-ink: var(--cx-ink, #1d1d1b); --f-body: var(--cx-body, #2a2926);
  --f-soft: var(--cx-soft, #3c3a36); --f-rule: color-mix(in srgb, var(--f-ink) 16%, var(--f-paper));
  --f-ok: var(--cx-ok, #0b7a3e); --f-no: var(--cx-no, #c8401f);
  --f-text: var(--cx-text, "InterVariable", "Inter", -apple-system, "Helvetica Neue", Arial, sans-serif);
  --f-mono: var(--cx-mono, "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace);
  margin: 0; color: var(--f-body); font-family: var(--f-text); font-weight: 420; line-height: 1.42; box-sizing: border-box;
  container: cxf / inline-size;
}
@media screen and (prefers-color-scheme: dark) {
  .cxf { --f-paper: var(--cx-paper, #141413); --f-ink: var(--cx-ink, #faf8f3); --f-body: var(--cx-body, #e9e6df); --f-soft: var(--cx-soft, #c9c5bc);
    --f-ok: var(--cx-ok, #45c27a); --f-no: var(--cx-no, #ff6a3d); }
}
.cxf *, .cxf *::before, .cxf *::after { box-sizing: border-box; }
.cxf-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; align-items: start; }
@container cxf (min-width: 820px) { .cxf-grid { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 1.6rem; } }
.cxf-film { min-width: 0; }
.cxf-video { display: block; width: 100%; height: auto; background: #000; border: 1px solid var(--f-ink); }
.cxf-panel { min-width: 0; display: flex; flex-direction: column; gap: .5rem; border-top: 1px solid var(--f-ink); padding-top: .6rem; }
.cxf-label { margin: 0; font: 700 .68rem/1.3 var(--f-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--f-soft); }
.cxf-scene { margin: 0; font: 700 .72rem/1.35 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--f-ink); min-height: 1.35em; }
.cxf-claim { margin: 0; font-size: 1.02rem; line-height: 1.38; color: var(--f-ink); min-height: 2.76em; }
.cxf-nums { margin: 0; font: 400 .8rem/1.5 var(--f-mono); color: var(--f-ink); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.cxf-check { margin: 0; font-size: .85rem; color: var(--f-soft); }
.cxf-check.is-ok { color: var(--f-ok); } .cxf-check.is-bad { color: var(--f-no); }
.cxf-run { align-self: flex-start; appearance: none; border: 1px solid var(--f-ink); border-radius: 0; background: var(--f-ink); color: var(--f-paper); cursor: pointer;
  font: 700 .64rem/1 var(--f-mono); letter-spacing: .1em; text-transform: uppercase; padding: .6rem .75rem; min-height: 38px; }
.cxf-run[hidden] { display: none; }
.cxf-run:focus-visible { outline: 2px solid var(--f-ink); outline-offset: 3px; }
.cxf-all { margin: .8rem 0 0; font-size: .85rem; color: var(--f-soft); max-width: 50rem; }
.cxf-hand { margin-top: 1rem; }
.cxf-handnote { margin: 0 0 .6rem; font-size: .9rem; color: var(--f-ink); }
@media (forced-colors: active) { .cxf-run { background: ButtonFace; color: ButtonText; border-color: ButtonText; } }
@media print { .cxf-run { display: none; } }
