:root { color-scheme: light dark; --accent: #0b6e4f; --danger: #b3261e; }
* { box-sizing: border-box; }
body { margin: 0; font: 18px/1.5 system-ui, sans-serif; background: Canvas; color: CanvasText; }
main { max-width: 34rem; margin: 0 auto; padding: 1.5rem 1rem 3rem; }
h1 { font-size: 1.6rem; margin: 0 0 .5rem; }
label { display: block; margin-top: 1rem; font-weight: 600; }
input { width: 100%; padding: .8rem; font: inherit; border: 2px solid GrayText; border-radius: .5rem; }
#reg, .reg { text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
button { padding: .8rem 1rem; font: inherit; font-weight: 600; border: 0; border-radius: .5rem;
  background: var(--accent); color: #fff; cursor: pointer; }
form > button { width: 100%; margin-top: 1rem; }
button.plain { background: none; color: inherit; border: 2px solid GrayText; }
button.danger { background: var(--danger); }
.hint { font-size: .9rem; opacity: .8; margin: .3rem 0 0; }
.err { color: var(--danger); font-weight: 600; min-height: 1.5em; margin: .5rem 0 0; }
.big { font-size: 4.5rem; font-weight: 800; line-height: 1.1; margin: .5rem 0; }
.card { border: 2px solid GrayText; border-radius: .75rem; padding: 1.25rem; margin: 1rem 0; text-align: center; }
.stats { display: flex; gap: .5rem; margin: 1rem 0; }
.stats div { flex: 1; border: 2px solid GrayText; border-radius: .5rem; padding: .5rem; text-align: center; }
.stats b { display: block; font-size: 1.6rem; }
ol { list-style: none; padding: 0; margin: 0; }
li { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; padding: .75rem 0; border-bottom: 1px solid GrayText; }
li .reg { flex: 1; font-size: 1.5rem; min-width: 8rem; }
.row { display: flex; gap: .5rem; margin-top: 1rem; }
.row input { flex: 1; }
