:root{--ink:#17201d;--muted:#59645f;--paper:#f6f4ec;--card:#fffdf7;--green:#075c4c;--lime:#d7ee8a;--line:#cbd1c8}*{box-sizing:border-box}html{font-family:system-ui,-apple-system,"Hiragino Sans","Yu Gothic",sans-serif;color:var(--ink);background:var(--paper);line-height:1.75}body{margin:0}a{color:var(--green);text-underline-offset:.2em}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:3}header,footer,main{max-width:1120px;margin:auto;padding:1.25rem 5vw}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}header nav,footer nav{display:flex;gap:1.2rem;flex-wrap:wrap}.brand{font-weight:900;text-decoration:none;color:var(--ink)}.brand span{color:var(--green)}main{min-height:70vh}section,article{max-width:820px;margin:4rem 0}.hero{padding:5rem 0 3rem}.eyebrow,.checked{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green);font-weight:800}h1{font-size:clamp(2.4rem,7vw,5.8rem);line-height:1.02;letter-spacing:-.05em;margin:.25em 0}article h1{font-size:clamp(2.3rem,6vw,4.5rem)}h2{font-size:clamp(1.6rem,4vw,2.5rem);line-height:1.2;margin-top:2em}.lead{font-size:clamp(1.1rem,2vw,1.35rem);max-width:700px;color:var(--muted)}.button,button{display:inline-block;border:2px solid var(--green);background:var(--green);color:white;padding:.75rem 1.1rem;border-radius:.35rem;font-weight:800;text-decoration:none;font:inherit;cursor:pointer}.text-link{margin-left:1rem}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.cards article,.tool{background:var(--card);border:1px solid var(--line);padding:1.4rem;margin:0;border-radius:.5rem}.controls{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1rem 0}label{font-weight:700}select,input{display:block;width:100%;margin-top:.4rem;padding:.7rem;background:white;border:1px solid #77827d;border-radius:.25rem;font:inherit}.summary{display:grid;grid-template-columns:max-content 1fr;gap:.25rem 1rem}.summary dt{font-weight:800}.source{border-left:4px solid var(--lime);padding-left:1rem}code{background:#e7e9e4;padding:.1em .3em}footer{border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}button:focus,a:focus,select:focus,input:focus{outline:3px solid #d08b00;outline-offset:3px}@media(max-width:760px){header{align-items:flex-start;gap:1rem;flex-direction:column}.cards,.controls{grid-template-columns:1fr}.hero{padding-top:2.5rem}.text-link{display:inline-block;margin:.9rem 0 0}}
