body { margin: 0; font-family: system-ui, sans-serif; background: #f6f7f4; color: #1f2a1f; }
main { max-width: 28rem; margin: 3rem auto; padding: 0 1rem; }
h1 { font-size: 1.5rem; }
.brand { display: flex; align-items: center; gap: 0.75rem; padding-bottom: 1rem; margin-bottom: 1.5rem; border-bottom: 3px solid #ff5722; }
.brand h1 { margin: 0; letter-spacing: 0.02em; }
.brand span { display: block; font-size: 0.85rem; font-weight: 400; color: #4a564a; text-transform: uppercase; letter-spacing: 0.12em; }
section { display: flex; flex-direction: column; gap: 0.75rem; margin: 1.5rem 0; }
label { display: flex; flex-direction: column; gap: 0.25rem; font-size: 0.9rem; }
input { font: inherit; padding: 0.5rem; border: 1px solid #9aa79a; border-radius: 4px; }
button { font: inherit; padding: 0.75rem 1rem; border: 0; border-radius: 4px; background: #ff5722; color: #fff; cursor: pointer; }
button:hover:enabled { background: #f4511e; }
button:disabled { background: #9aa79a; cursor: default; }
h2 { font-size: 1.15rem; margin: 0; }
section > p { margin: 0; }
.hint { font-size: 0.9rem; color: #4a564a; }
details { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid #c9d1c9; }
details > * + * { margin-top: 0.75rem; }
details button { width: 100%; }
form { margin: 0.75rem 0; }
form button { width: 100%; }
summary { cursor: pointer; font-weight: 600; }
#status { min-height: 1.5em; color: #7a1f1f; }
#status.progress { color: #1f2a1f; }
