/* Shared header (with the DarkNyx menu) and footer for the report pages under /check/.
   Same look as the home page; every class is prefixed dx- so nothing collides with a page's own styles.
   Colours come from the page's own tokens (--paper, --ink, --line, --accent, ...), so both light and dark themes follow. */
.dx-wrap{ max-width:1180px; margin:0 auto; padding:0 clamp(1rem,4vw,1.5rem); }

.dx-header{ border-bottom:1px solid var(--line); background:var(--paper); }
.dx-header a:focus-visible, .dx-footer a:focus-visible{ outline:2px solid var(--accent-2); outline-offset:3px; border-radius:4px; }
.dx-top{ display:flex; align-items:center; justify-content:space-between; gap:0.6rem; padding:1.1rem 0 0.4rem; }
.dx-lockup{ display:flex; align-items:center; gap:0.55rem; color:inherit; text-decoration:none; }
.dx-lockup:hover .dx-mark{ color:var(--accent); }
.dx-logo{ width:22px; height:auto; flex-shrink:0; }
.dx-mark{ font-family:"Source Serif 4", Georgia, serif; font-weight:700; font-size:1.5rem; letter-spacing:-0.01em; color:var(--ink); }
.dx-dot{ color:var(--accent); }
/* The header's full stop blinks, like a cursor waiting for input (same as the home page); the footer's stays still. */
.dx-mark .dx-dot{ animation:dx-blink 1.6s ease-in-out infinite; }
@keyframes dx-blink{ 0%,45%{ opacity:1; } 60%,85%{ opacity:0.12; } 100%{ opacity:1; } }
@media (prefers-reduced-motion: reduce){ .dx-mark .dx-dot{ animation:none; } }
.dx-tor{ display:inline-flex; align-items:center; gap:0.4rem; font-family:"IBM Plex Mono", monospace; font-size:0.76rem; color:var(--accent-2);
  text-decoration:none; padding:0.35rem 0.7rem; border:1px solid var(--line-strong); border-radius:999px; white-space:nowrap; }
.dx-tor:hover{ background:var(--accent-2-soft); border-color:transparent; }
.dx-tor svg{ width:15px; height:15px; flex-shrink:0; }

.dx-menu{ display:flex; gap:0.3rem; margin-top:0.5rem; overflow-x:auto; overflow-y:hidden; scrollbar-width:thin; }
.dx-menu a{ white-space:nowrap; flex-shrink:0; font-size:0.86rem; font-weight:500; padding:0.55rem 0.9rem; color:var(--ink-faint);
  text-decoration:none; border-bottom:2px solid transparent; }
.dx-menu a:hover{ color:var(--ink); }
.dx-menu a.dx-current{ color:var(--accent); border-bottom-color:var(--accent); font-weight:600; }

.dx-crumb{ display:flex; align-items:center; flex-wrap:wrap; gap:0.5rem; padding:0.7rem 0; font-size:0.86rem; color:var(--ink-soft); border-top:1px solid var(--line); }
.dx-crumb a{ color:var(--accent); text-decoration:none; font-weight:600; }
.dx-crumb a:hover{ text-decoration:underline; }
.dx-crumb .dx-sep{ color:var(--ink-faint); }

/* the pages' .wrap rule zeroes main's own top and bottom padding, which left the form flush against the header */
main.wrap{ padding-top:1.8rem; padding-bottom:0.4rem; }
.dx-note{ padding:0.6rem 0 0; font-size:0.86rem; color:var(--ink-faint); }
footer.dx-footer{ border-top:1px solid var(--line); margin-top:2rem; padding:2.6rem 0 2.2rem; color:var(--ink-soft); font-size:0.84rem; line-height:1.6; background:var(--paper); }
.dx-note + #dx-footer footer.dx-footer{ margin-top:1.2rem; }
.dx-footer-grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1.8fr; gap:2rem 2.6rem; }
.dx-footer-brand{ font-family:"Source Serif 4", Georgia, serif; font-weight:700; font-size:1.3rem; color:var(--ink); letter-spacing:-0.01em; text-decoration:none; }
.dx-footer-about p{ margin:0.55rem 0 0; max-width:36ch; color:var(--ink-faint); }
.dx-footer-about a{ color:var(--accent-2); text-decoration:none; border-bottom:1px solid transparent; }
.dx-footer-about a:hover{ border-bottom-color:currentColor; }
.dx-footer-head{ font-family:"IBM Plex Mono", monospace; font-size:0.7rem; font-weight:500; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--ink-faint); margin:0.35rem 0 0.85rem; }
.dx-footer-col ul{ list-style:none; margin:0; padding:0; display:grid; gap:0.5rem; }
.dx-footer-col a{ color:var(--ink-soft); text-decoration:none; border-bottom:1px solid transparent; }
.dx-footer-col a:hover{ color:var(--accent-2); border-bottom-color:currentColor; }
.dx-footer-facts li{ color:var(--ink-faint); }
.dx-footer-facts strong{ color:var(--ink-soft); font-weight:600; }
.dx-footer-legal{ margin-top:2.2rem; padding-top:1.2rem; border-top:1px solid var(--line); font-size:0.78rem; color:var(--ink-faint); }
.dx-footer-legal p{ margin:0; }
.dx-footer-legal a{ color:var(--accent-2); }
@media (max-width:980px){ .dx-footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){
  .dx-footer-grid{ grid-template-columns:1fr; gap:1.7rem; }
  .dx-footer-col a{ display:inline-block; padding:0.2rem 0; }
}
@media print{ .dx-header, .dx-note, footer.dx-footer{ display:none; } }
