:root{--ink:#1e2a23;--paper:#faf7f0;--accent:#2f6f4f;--line:#d9d2c4;--muted:#6b7a70}*{box-sizing:border-box}body{color:var(--ink);background:var(--paper);margin:0;font-family:Georgia,Times New Roman,serif;line-height:1.5}a{color:var(--accent)}main{max-width:720px;margin:0 auto;padding:2rem 1.25rem 4rem}h1,h2{font-weight:400}nav.village-nav{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:1rem;padding:1rem 1.25rem;display:flex}nav.village-nav .spacer{flex:1}nav.village-nav .who{color:var(--muted);font-size:.9rem}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);padding:.5rem .75rem}th{color:var(--muted);font-size:.9rem;font-weight:400}button{font:inherit;border:1px solid var(--ink);cursor:pointer;background:0 0;border-radius:4px;padding:.4rem 1rem}button.primary{background:var(--accent);border-color:var(--accent);color:var(--paper)}.card{border:1px solid var(--line);background:#fffdf8;border-radius:8px;margin:1rem 0;padding:1rem 1.25rem}.muted{color:var(--muted);font-size:.9rem}.badge{border:1px solid var(--line);border-radius:999px;padding:.1rem .5rem;font-size:.8rem;display:inline-block}.badge.on{border-color:var(--accent);color:var(--accent);background:#e5f0e9}.badge.off{color:var(--muted);background:#f3efe6}form.inline{display:inline}.pair-code{letter-spacing:.3em;font-family:monospace;font-size:2rem}
