ADR-007: Print Discipline
Decision
All print rules live in one stylesheet, print output is always light mode, and components break cleanly across pages. Print is a first-class surface.
Key rules
- All
@media printrules live insrc/styles/print.css— never inline in component CSS. - Print is always light mode:
print.cssresets every color token to its light-mode value. No dark backgrounds or inverted text in print, with no exceptions (including legal or branded output). - Hide nav chrome, sidebars, action buttons, and interactive controls in print.
- Use
break-inside: avoidon cards and table rows; avoidbox-shadowin print-visible content. - The print type scale uses
ptunits; the icon-text grid (ADR-009) must survive@media print. - Test: switch the browser to dark mode, then print-preview — the output must still be light.
Why
Print is a first-class surface in this stack (legal documents, custody plans, court filings). One stylesheet plus forced light mode keeps paper output correct and prevents dark-mode bleed.
Applies when
You are adding print styles, auditing @media print usage, or building a component that must render well on paper.
Related
- ADR-009 — icon role, placement & layout (the grid survives print).
- ADR-031 — legal drafting and court conventions (specific print requirements).