:root { font: 15px/1.45 system-ui, sans-serif; color: #173f36; background: #f7faf8; }
body { margin: 0; }
main { padding: 1rem; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; background: #fff; color: inherit; border: 1px solid #9daf9f; border-radius: .45rem; padding: .35rem .65rem; }
button:hover { background: #e3f1e7; }
button:disabled { opacity: .55; cursor: wait; }
label { display: block; margin: .5rem 0; }
input:not([type=file]), textarea, select { width: 100%; box-sizing: border-box; padding: .4rem; border: 1px solid #a6b6ad; border-radius: .35rem; }
input[type=file] { max-width: 100%; }
ul, ol { list-style: none; padding: 0; }
li { margin: .4rem 0; overflow-wrap: anywhere; }
h2 { font-size: 1.16rem; margin: .5rem 0; }
fieldset, details { border: 1px solid #cddcd1; border-radius: .45rem; margin: .55rem 0; padding: .55rem; }
#messages li { white-space: pre-wrap; border-radius: .55rem; padding: .55rem .7rem; background: white; }
#messages small { color: #416052; }
#rooms button { width: 100%; text-align: left; }
#archive { color: #63502c; }
[hidden] { display: none !important; }
