:root{font-family:system-ui,sans-serif;color:#18332f;background:#f1f4ed;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100vh;display:grid;place-items:center;padding:28px}
main{width:min(760px,100%);background:#fffdf7;padding:clamp(28px,7vw,64px);border:1px solid #dce3d8;border-radius:18px}
.eyebrow{font-size:.75rem;letter-spacing:.14em;font-weight:750;color:#39725d}h1{font-size:clamp(2rem,6vw,3.5rem);letter-spacing:-.045em;line-height:1.06;margin:22px 0}
.intro{font-size:1.1rem;line-height:1.65;color:#51655d;max-width:32em}form{margin-top:32px}label{display:block;font-weight:700;margin-bottom:10px}
.row{display:flex;gap:12px}input{min-width:80px;width:120px;padding:14px;border:1px solid #9cae9d;border-radius:8px;font:inherit}
button{border:0;border-radius:8px;background:#205d48;color:white;padding:14px 22px;font:inherit;font-weight:650;cursor:pointer}button:disabled{opacity:.6;cursor:wait}
input:focus-visible,button:focus-visible{outline:3px solid #c89d38;outline-offset:3px}.hint{font-size:.85rem;color:#607066;line-height:1.6}
output{display:block;padding:20px;border-radius:8px;background:#edf3e9;margin-top:24px;min-height:72px;line-height:1.5}
output[data-state=error]{background:#fff0e9;color:#8b3025}footer{margin-top:34px;font-size:.74rem;line-height:1.8;color:#6a786f}
@media(max-width:440px){.row{flex-direction:column}input{width:100%}}
