:root { font-family: system-ui, sans-serif; color: #20372e; background: #f4f3ed; color-scheme: light; }
* { box-sizing: border-box; }
body { margin: 0; }
header { background: #254f3f; color: white; display: flex; justify-content: space-between; align-items: center; padding: 1rem max(1rem, calc((100vw - 1180px)/2)); }
h1 { font-size: 1.6rem; margin: 0; } h1 span { font-weight: 400; } header p { margin: .3rem 0 0; }
main { max-width: 1180px; margin: auto; padding: 1rem; }
section, fieldset { background: white; border: 1px solid #cbd3c9; border-radius: 8px; padding: 1.2rem; margin: 1rem 0; min-width: 0; }
h2 { font-size: 1.2rem; margin-top: 0; }
label { display: block; margin: .7rem 0; }
input, select, button { font: inherit; padding: .6rem; border: 1px solid #9faea2; border-radius: 4px; }
input:not([type=checkbox]), select { max-width: 100%; width: 100%; background: white; }
button { cursor: pointer; background: #e9eee6; color: #163727; } button.primary { background: #254f3f; color: white; }
button:disabled { opacity: .5; cursor: default; }
button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid #a96e21; outline-offset: 2px; }
.row { display: flex; gap: .7rem; align-items: center; flex-wrap: wrap; } .row input { flex: 1; min-width: 12rem; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 1rem; }
.notice { border-left: 4px solid #ad762f; padding: .65rem 1rem; background: #fff6df; }
.error { color: #a12416; } .muted, small { color: #55685b; }
#status { min-height: 1.5em; } #login { max-width: 480px; }
.trait { border-bottom: 1px solid #dce1d8; padding: .7rem 0; } .trait label { font-weight: 600; }
.trait details { margin: .4rem 0; } .trait output { min-height: 1.5em; display: block; }
#resolution { overflow-wrap: anywhere; } #raw { white-space: pre-wrap; overflow-wrap: anywhere; }
summary { cursor: pointer; padding: .5rem 0; } .trial { margin: .25rem; }
