:root { --dim: 2.5vw; /* Dimensions */ --pxt: 12; /* Pixel total each dimension */ --stcl: #444; /* Stroke colour */ --txcl: #222; /* Text colour */ --bgcl: #fff; /* Background colour */ --accl: #306dd3; /* Action colour */ --poa: 3; /* Pixels outside angle */ --pxs: calc(var(--dim) / var(--pxt)); /* Pixel size */ --asos: calc(var(--pxs) * (var(--pxt) - var(--poa))); /* Angle start offset */ } @media (prefers-color-scheme: dark) { :root { --stcl: #cfcfcf; /* Stroke colour */ --txcl: #c2c2c2; /* Text colour */ --bgcl: #222; /* Background colour */ --accl: #9da2ff; /* Action colour */ } } body { font-family: "sans", Arial, sans-serif; font-size: 14px; background-color: var(--bgcl); color: var(--txcl); } section { max-width: 42vw; margin: 0 auto 2rem auto; overflow: hidden; clear: both; display: block; } h1 { font-size: 1.8rem; font-weight: normal; line-height: 1.35rem; margin: 3vw 0 1vw 0; } h2 { display: inline-block; margin: 3rem 0 1rem 0; font-size: 1.6rem; line-height: 1.8rem; page-break-after: avoid; } h3 { font-size: 1.4rem; margin: 4rem 0 1rem 0; page-break-after: avoid; font-weight: normal; } h4 { font-size: 1.2rem; margin: 4rem 0 1rem 0; font-weight: normal; page-break-before: avoid; page-break-after: avoid; } a { color: var(--accl); } p { margin: 1vw 0; } ul { margin-top: 0.6rem; margin-bottom: 1vw; } li { margin-top: 0.4rem; } h3 em { font-size: 1.6rem; font-style: normal; font-weight: 500; } h4 em { font-size: 1.4rem; font-style: normal; font-weight: 500; } @media print { p { break-inside: avoid; } section { max-width: 95%; width: 95%; } body { max-width: 95%; width: 95%; margin: 2rem; font-size: 10px; } }