/* Shared look for the public pages. */
:root { color-scheme: light dark; }
body {
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    max-width: 30rem; margin: 3rem auto; padding: 0 1rem;
    line-height: 1.6; color: #1a1a1a; background: #fff;
}
h1 { font-size: 1.5rem; margin-bottom: .25rem; }
p.sub { color: #666; margin-top: 0; }
h2 { font-size: 1rem; margin-top: 2rem; text-transform: uppercase;
     letter-spacing: .05em; color: #666; }
ul.links { list-style: none; padding: 0; margin: .5rem 0; }
ul.links li { margin: .4rem 0; }
ul.links a { display: block; padding: .75rem 1rem; border: 1px solid #e3e3e3;
             border-radius: .5rem; text-decoration: none; color: inherit; }
ul.links a:hover { border-color: #1a1a1a; }
label { display: block; margin-top: 1rem; font-size: .9rem; }
input { width: 100%; padding: .6rem; font-size: 1rem; border: 1px solid #ccc;
        border-radius: .4rem; box-sizing: border-box; background: #fff; color: inherit; }
button { margin-top: 1.25rem; width: 100%; padding: .7rem; font-size: 1rem; border: 0;
         border-radius: .4rem; background: #1a1a1a; color: #fff; cursor: pointer; }
button[disabled] { opacity: .5; cursor: default; }
.msg { margin-top: 1rem; padding: .7rem; border-radius: .4rem; }
.err { background: #fdecea; color: #8c1d18; }
.ok  { background: #e7f4ea; color: #14532d; }
.back { display: inline-block; margin-top: 2rem; font-size: .9rem; color: #666; }
@media (prefers-color-scheme: dark) {
    body { background: #141416; color: #e8e8e8; }
    p.sub, h2, .back { color: #a0a0a0; }
    ul.links a { border-color: #2c2c30; }
    ul.links a:hover { border-color: #e8e8e8; }
    input { background: #1f1f22; border-color: #3a3a40; }
    button { background: #e8e8e8; color: #141416; }
    .err { background: #3b1f1d; color: #f5b5ae; }
    .ok  { background: #1c3324; color: #a7d8b6; }
}
