*, *::before, *::after { box-sizing: border-box; }
/* Shared accessible layout and preferences across all public pages. */
html { overflow-wrap: anywhere; }
body { min-width: 0; }
main, .container, .input-output-container, .input-container, .output-container { min-width: 0; max-width: 100%; }
pre, .line-numbers, .code-block { max-width: 100%; overflow-x: auto; overflow-wrap: normal; }
table { width: 100%; table-layout: fixed; }
th, td { overflow-wrap: anywhere; }
footer a { color: #64b5f6; }
.cookie-settings { background: transparent; color: #64b5f6; border: 1px solid #64b5f6; border-radius: 4px; padding: 8px 14px; cursor: pointer; }
button:focus-visible, a:focus-visible { outline: 2px solid #9cdcfe; outline-offset: 3px; }
#cookie-banner { position: fixed; bottom: 0; left: 0; right: 0; z-index: 9999; background: #252526; border-top: 1px solid #64b5f6; padding: 16px 24px; color: #d4d4d4; font: 14px/1.5 system-ui, sans-serif; max-height: 80vh; overflow-y: auto; }
#cookie-banner p { margin: 0 0 12px; }
#cookie-banner a { color: #64b5f6; }
#cookie-banner button { background: #005f9e; color: white; border: 1px solid #64b5f6; padding: 8px 20px; margin-right: 8px; border-radius: 4px; cursor: pointer; }
@media (max-width: 600px) { body { padding: 12px; } th, td { padding: 8px; } .input-output-container { flex-direction: column; } }

a { color: #64b5f6; }
.table-scroll { max-width: 100%; overflow-x: auto; }
.table-scroll .comparison-table { min-width: 640px; table-layout: auto; }
