body{margin:0;background:#faf7f2;color:#303c3b;font:18px/1.85 system-ui,sans-serif}main,header,footer{max-width:1000px;margin:auto;padding:24px;overflow-wrap:anywhere}h1{font-size:clamp(30px,5vw,46px);line-height:1.4}a{color:#315e54}section{background:white;border:1px solid #dfd3c2;border-radius:10px;padding:24px;margin:24px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:16px}a.btn,button{display:inline-flex;align-items:center;min-height:48px;padding:10px 16px;box-sizing:border-box;border:1px solid #a4855d;border-radius:10px;background:#fff;color:#315e54;font:inherit;margin:6px 0;text-decoration:none;cursor:pointer}label{display:block;padding:10px}input{width:22px;height:22px;vertical-align:middle}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #315e54;outline-offset:4px}[hidden]{display:none!important}.note{border-left:4px solid #a4855d;padding:16px}progress{width:100%}@media(prefers-reduced-motion:no-preference){.btn:hover,button:hover{transform:translateY(-2px);transition:transform .15s}}@media print{button,.nav{display:none}body{background:white;color:black}section{border:1px solid #777;break-inside:avoid;box-shadow:none}}