:root{--paper:#faf9f5;--ink:#252923;--muted:#656a60;--line:#d9dfd4;--accent:#285642}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Yu Gothic",sans-serif;line-height:1.8}a{color:var(--accent);text-underline-offset:4px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #cc8d30;outline-offset:3px}header{max-width:1000px;margin:auto;display:flex;justify-content:space-between;gap:20px;padding:24px;border-bottom:1px solid var(--line);font-size:14px}header a{text-decoration:none}main{max-width:800px;margin:48px auto;padding:0 24px}h1{font-size:clamp(26px,5vw,38px);line-height:1.5;letter-spacing:-.03em}h2{font-size:21px}p{max-width:65ch}small,.muted{color:var(--muted);font-size:13px}.intro{margin-bottom:32px}.tools{padding:0;list-style:none}.tools li{border-top:1px solid var(--line);padding:24px 0}.tools a{font-size:21px;font-weight:600}.tools p{margin:8px 0 0}form{padding:24px 0;border-block:1px solid var(--line)}label{display:block;margin:12px 0}select,input[type=number]{display:block;padding:12px;background:white;border:1px solid #8c9587;border-radius:3px;color:var(--ink);font:inherit;max-width:100%;width:320px}input[type=checkbox]{width:18px;height:18px;vertical-align:middle;margin-right:10px;accent-color:var(--accent)}fieldset{border:0;padding:0;margin:24px 0}legend{font-weight:600}button{padding:12px 24px;border:0;border-radius:3px;background:var(--accent);color:white;font:inherit;cursor:pointer}#output{margin-top:36px;outline:none}.result{padding:22px 0;border-bottom:1px solid var(--line)}.result h2{margin-top:0}.source{display:block;font-size:12px;margin-top:12px}.ad{font-size:12px;color:var(--muted);padding:12px 0}#error{color:#963426}#checklist label{padding:12px 0;border-bottom:1px solid var(--line)}footer{max-width:800px;margin:64px auto 0;padding:24px;border-top:1px solid var(--line);font-size:12px}footer a{margin-right:18px}details{margin-top:28px}summary{cursor:pointer}.badge{font-size:12px;color:var(--muted)}@media(max-width:520px){main{margin-top:32px}header{padding:18px 24px}form{padding-block:16px}.result h2{font-size:19px}}@media print{header,footer,form,.ad,#copy{display:none}}
