:root { color-scheme: light; --ink: #1b1b1b; --muted: #5a5a5a; --line: #d8d8d8; --accent: #2b5d8a; --warn: #8a2b2b; }
body { margin: 0; font: 16px/1.45 system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--ink); background: #fafaf8; }
.wrap { max-width: 900px; margin: 0 auto; padding: 1rem; }
.banner { background: #ffe8a3; color: #4a3600; padding: .5rem 1rem; font-weight: 600; text-align: center; }
h1 { font-size: 1.5rem; margin: .5rem 0; } h2 { font-size: 1.2rem; margin: .75rem 0 .25rem; } h3, h4 { font-size: 1rem; margin: .5rem 0 .25rem; }
.stack label { display: block; margin: .5rem 0; } .stack input[type=text], .stack input[type=email], .stack input[type=password], .stack textarea { width: 100%; box-sizing: border-box; padding: .4rem; border: 1px solid var(--line); border-radius: 4px; }
button, .button { display: inline-block; padding: .45rem .9rem; border: 1px solid var(--accent); background: var(--accent); color: #fff; border-radius: 4px; text-decoration: none; cursor: pointer; font: inherit; }
.inline { display: inline-block; margin: .25rem .5rem .25rem 0; } .inline input[type=text] { padding: .3rem; }
.errors { color: var(--warn); } .note { color: var(--muted); font-size: .9rem; }
.card { border: 1px solid var(--line); border-radius: 6px; padding: .75rem 1rem; margin: .75rem 0; background: #fff; } .highlight { border-color: var(--accent); }
.topnav { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; padding: .5rem 0; border-bottom: 1px solid var(--line); margin-bottom: .5rem; }
table { border-collapse: collapse; width: 100%; } td, th { text-align: left; padding: .3rem .4rem; border-bottom: 1px solid var(--line); vertical-align: top; }
.prewrap { white-space: pre-wrap; } code { word-break: break-all; }
.hp { position: absolute; left: -9999px; top: -9999px; }
fieldset { border: 1px solid var(--line); border-radius: 4px; }
