:root { font: 17px/1.8 system-ui,sans-serif; color: #242c20; background: #f6f7f0; }
* { box-sizing: border-box; } body { margin: 0; } main { max-width: 840px; margin: auto; padding: 32px 24px 64px; }
nav { display: flex; flex-wrap: wrap; gap: 12px 24px; padding-bottom: 24px; border-bottom: 1px solid #d9dfcb; font-size: 14px; }
a { color: #36520f; text-underline-offset: 4px; } a:focus-visible, button:focus-visible { outline: 3px solid #67852b; outline-offset: 4px; }
h1 { font-size: clamp(32px,6vw,52px); line-height: 1.13; letter-spacing: -.035em; margin: 22px 0; } h2 { font-size: 26px; line-height: 1.3; margin: 38px 0 14px; } h3 { line-height: 1.4; }
.byline { font-size: 13px; color: #5f6857; margin-top: 28px; } .lede { font-size: 20px; color: #526046; }
.experiment { display: block; padding: 20px 24px; margin: 26px 0; border: 1px solid #adc476; border-radius: 14px; background: #eaf3d3; font-weight: 650; }
.note { border-left: 4px solid #7d984a; padding: 12px 20px; background: #fff; }
table { width: 100%; border-collapse: collapse; font-size: 15px; } th, td { text-align: left; border-bottom: 1px solid #d9dfcb; padding: 12px 8px; } code { overflow-wrap: anywhere; }
.article-table { overflow-x: auto; } footer { margin-top: 48px; border-top: 1px solid #d9dfcb; padding-top: 24px; font-size: 14px; } footer a, footer button { margin-right: 16px; }
footer button { font: inherit; color: #36520f; border: none; background: none; padding: 0; cursor: pointer; text-decoration: underline; }
@media(max-width:480px) { main { padding: 22px 18px 60px; } table { font-size: 12px; } th, td { padding: 10px 4px; } }
