*{box-sizing:border-box}body{margin:0;background:#f7f3ef;color:#332c30;font:16px/1.6 system-ui,sans-serif}header,main{max-width:1100px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;gap:16px}a{color:#7f365b}h1{font-size:clamp(2rem,5vw,3rem);line-height:1.2}.intro{font-size:1.15rem;max-width:750px}#contact-sheet{padding:clamp(16px,3vw,28px);background:white;border:1px solid #d9ccd4;border-radius:16px}.controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}label{font-weight:600;display:block}input:not([type=checkbox]),select{display:block;width:100%;max-width:100%;margin-top:6px;padding:10px;font:inherit;border:1px solid #9e8898;border-radius:6px}input[type=file]{font-size:14px}.check{display:flex;align-items:center;gap:8px}button,.download{font:inherit;font-weight:600;background:#7f365b;color:white;border:0;border-radius:6px;padding:11px 16px;cursor:pointer;display:inline-block;min-height:46px}button[type=button]{background:#f0e7ed;color:#332c30}button:disabled{opacity:.65;cursor:wait}.buttons{display:flex;flex-wrap:wrap;gap:12px}:focus-visible{outline:3px solid #b36b0f;outline-offset:3px}.hint,.privacy{font-size:14px;color:#655663}#error{color:#a32032;font-weight:600}#error:empty,#status:empty{display:none}#result canvas{width:100%;height:auto;display:block;border:1px solid #ddd;margin:16px 0;background:white}#result ol{overflow-wrap:anywhere}article{max-width:780px;margin:40px auto}h2{line-height:1.3;margin-top:30px}footer{padding:24px 0}@media(max-width:600px){header,main{padding:16px}.controls{grid-template-columns:1fr}.buttons button{width:100%}}