
:root { color-scheme: light dark; --fg: #1a1a1a; --muted: #5c5c5c; --bg: #fff; --line: #d9d9d9; --accent: #1f5fd6; }
@media (prefers-color-scheme: dark) { :root { --fg: #ececec; --muted: #a3a3a3; --bg: #161616; --line: #3a3a3a; --accent: #7aa7ff; } }
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--fg); font: 16px/1.5 system-ui, sans-serif; }
main { max-width: 26rem; margin: 15vh auto 4rem; padding: 0 1rem; }
h1 { font-size: 1.4rem; margin: 0 0 1rem; }
p { margin: 0 0 1rem; }
.muted { color: var(--muted); font-size: .9rem; }
.error { color: #c62828; }
label { display: block; margin-bottom: .25rem; }
input[type=email] { width: 100%; padding: .6rem; font: inherit; color: inherit; background: transparent; border: 1px solid var(--line); border-radius: 6px; margin-bottom: 1rem; }
button { font: inherit; padding: .6rem 1rem; border: 0; border-radius: 6px; background: var(--accent); color: #fff; cursor: pointer; }
button.link { background: none; color: var(--accent); padding: 0; text-decoration: underline; }
button.secondary { background: none; color: var(--fg); border: 1px solid var(--line); margin-left: .5rem; }
.host { font-size: 1.3rem; font-weight: 600; word-break: break-all; }
ul.apps { list-style: none; padding: 0; }
ul.apps li { padding: .75rem 0; border-bottom: 1px solid var(--line); }
form.inline { display: inline; }
