@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 400; src: url("../fonts/ibm-plex-sans-latin-400-normal.woff2") format("woff2"); font-display: swap; } @font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 400; src: url("../fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2"); font-display: swap; } @page { size: A4; margin: 20mm; } html, body { font-family: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; color: #111827; background: #ffffff; } p, li, a, h1, h2, h3, h4, h5, h6 { overflow-wrap: anywhere; word-break: break-word; } h1 { break-before: page; } p { orphans: 3; widows: 3; } pre, table, figure, blockquote { break-inside: avoid; } pre, code { font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, "Liberation Mono", monospace; } pre { background: #f3f4f6; padding: 10px 12px; border-radius: 6px; overflow-wrap: anywhere; white-space: pre-wrap; } .mermaid-figure { margin: 12px 0; } .mermaid-figure svg { max-width: 100%; height: auto; } .mermaid-landscape { break-before: page; page: mermaidLandscape; } @page mermaidLandscape { size: A4 landscape; margin: 20mm; }