:root{font-family:system-ui,sans-serif;color:#382138;background:#fcf6f2;line-height:1.6}*{box-sizing:border-box}body{margin:0}header,footer{padding:1.5rem 5%;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}header{border-bottom:1px solid #d9bcc8}main{max-width:900px;margin:auto;padding:1.5rem}h1{font:3rem Georgia,serif}h2{font:1.8rem Georgia,serif}section{background:white;border:1px solid #dfcdd3;border-radius:1.5rem;padding:1.5rem;margin-block:1.5rem}form{display:grid;gap:.7rem;max-width:550px}input,select,button{font:inherit;min-height:48px;padding:.7rem 1rem;border:1px solid #9d7f8b;border-radius:.7rem;max-width:100%}button{background:#8b3c5b;color:white;cursor:pointer}button:disabled{opacity:.6;cursor:wait}label{margin-top:.7rem}input:user-invalid,select:user-invalid{border:2px solid #a52020}:focus-visible{outline:3px solid #713153;outline-offset:3px}.actions{display:flex;flex-wrap:wrap;gap:.5rem}[hidden]{display:none!important}#message:not(:empty){padding:1rem;background:#f2dce5;border-radius:1rem;white-space:pre-line}.item{padding:1rem;border-bottom:1px solid #dfcdd3;overflow-wrap:anywhere}footer{color:#66515d;font-size:.9rem}@media(max-width:500px){main{padding:1rem}section{padding:1rem}h1{font-size:2.4rem}}
/* Grid items must shrink below their intrinsic option/text width on phones. */
form{grid-template-columns:minmax(0,1fr);min-width:0;width:100%}
form>*{min-width:0;overflow-wrap:anywhere}
input,select{width:100%;min-width:0}
h1,h2,h3,label{overflow-wrap:anywhere}
