/* Отступы должны входить в ширину, иначе карточка шире экрана:
   92vw плюс 2rem с каждой стороны не влезали на узкий телефон. */
*{box-sizing:border-box}
body{margin:0;background:#FAF7F5;color:#2B2522;font-family:"Segoe UI",sans-serif;
display:grid;place-items:center;min-height:100vh;
padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);box-sizing:border-box}
.box{background:#fff;border:1px solid #E8DDD7;border-radius:12px;padding:2rem;
width:min(92vw,22rem);display:flex;flex-direction:column;gap:.9rem}
h1{font-family:Cambria,Georgia,serif;font-weight:400;font-size:1.5rem;margin:0}
.sub{color:#756860;font-size:.85rem;margin-top:-.6rem}
input{font-family:inherit;font-size:16px;padding:.6rem .65rem;border:1px solid #E8DDD7;
border-radius:8px;width:100%;box-sizing:border-box;-webkit-appearance:none}
input:focus{outline:2px solid #10786C;border-color:#10786C}
button{font-family:inherit;font-size:16px;padding:.7rem;border:0;border-radius:8px;
background:#10786C;color:#fff;cursor:pointer;min-height:44px}
button:hover{background:#0B5D53}
.err{background:#F6E3E6;color:#B85068;border-radius:8px;padding:.5rem .7rem;font-size:.85rem}
label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:#756860}
