:root{font-family:Segoe UI,system-ui,sans-serif;color:#253e51;background:#f7f5ed}*{box-sizing:border-box}body{margin:0}main{max-width:890px;margin:auto;padding:52px 24px}header{margin-bottom:36px}.badge{font-size:12px;letter-spacing:2px;font-weight:700;color:#567568}h1{font-size:clamp(36px,7vw,60px);line-height:1.08;letter-spacing:-2px;margin:18px 0}h1 span{color:#d7a632}header p{font-size:18px;line-height:1.6;color:#647482}fieldset{border:0;padding:0;margin:0}legend,h2{font-size:17px;font-weight:700;margin:0 0 18px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.card{display:block;position:relative;padding:25px 22px;background:#fff;border:2px solid transparent;border-radius:18px;cursor:pointer;box-shadow:0 3px 10px #273b5010}.card:has(input:checked){border-color:#508579;background:#edf5ef}.card input{position:absolute;right:16px;top:16px;accent-color:#397260}.card strong{display:block;font-size:20px;margin-bottom:10px;padding-right:14px}.card span{display:block;font-size:14px;color:#617380}.settings{background:#fff;border-radius:18px;padding:25px;margin:24px 0}.inputs{display:flex;gap:20px}.inputs label{font-size:14px;flex:1}.inputs input{display:block;width:100%;padding:12px;border:1px solid #bdcbd0;border-radius:9px;margin-top:8px;font:inherit}.hint{font-size:13px;color:#687986;line-height:1.5}button{width:100%;padding:19px 24px;border:0;border-radius:14px;background:#294f44;color:white;font-size:17px;font-weight:700;cursor:pointer}button span{float:right}button:disabled{opacity:.6;cursor:wait}input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #d5ad43;outline-offset:3px}#result{background:#e6efe8;padding:20px;border-radius:14px;margin-top:18px}#download{display:inline-block;background:white;padding:12px 18px;border-radius:8px;color:#294f44;font-weight:700}#download[hidden]{display:none}footer{margin-top:38px;font-size:12px;color:#77848b;line-height:1.9}small{font-size:11px}[hidden]{display:none!important}@media(max-width:560px){main{padding:30px 18px}.cards{grid-template-columns:1fr}.card{padding:20px}.inputs{gap:12px}}
