:root { color-scheme: light dark; --gap: 1rem; --max: 900px; }
* { box-sizing: border-box; }
body { margin: 0; font: 16px/1.5 system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif; }
.container { max-width: var(--max); margin: 0 auto; padding: clamp(1rem, 2vw, 2rem); }
.lead { opacity: .8; }
.small { font-size: .875rem; opacity: .8; }
.row { display: flex; gap: var(--gap); align-items: center; flex-wrap: wrap; }
label { display: block; margin-top: var(--gap); }
input, select, textarea { width: 100%; padding: .7rem .8rem; border: 1px solid color-mix(in oklab, currentColor 25%, transparent); border-radius: .5rem; background: inherit; color: inherit; }
textarea { resize: vertical; }
.btn { display: inline-block; padding: .7rem 1rem; border-radius: .6rem; border: 0; background: color-mix(in oklab, #3b82f6 80%, black 0%); color: white; text-decoration: none; cursor: pointer; }
.btn:hover { filter: brightness(1.05); }
.link { text-decoration: none; }
.status { min-height: 1.5rem; }
.status.ok { color: #16a34a; }
.status.warn { color: #d97706; }
.status.error { color: #dc2626; }
.muted { opacity: .9; }
fieldset { border: 1px solid color-mix(in oklab, currentColor 25%, transparent); border-radius: .6rem; padding: 1rem; margin: 1rem 0; }
legend { padding: 0 .25rem; }