* { box-sizing: border-box; }
body { margin: 0; font-family: var(--font); background: var(--bg); color: var(--fg); }
.topbar { display: flex; justify-content: space-between; align-items: center; padding: var(--space-3); border-bottom: 1px solid var(--line); }
.topbar nav a { margin-left: var(--space-3); color: var(--fg); text-decoration: none; }
.brand { font-weight: 700; color: var(--fg); text-decoration: none; }
.screen { max-width: 640px; margin: 0 auto; padding: var(--space-3); }
h1 { font-size: 1.5rem; margin: var(--space-3) 0; }
.card { border: 1px solid var(--line); border-radius: var(--radius); padding: var(--space-3); margin-bottom: var(--space-3); display: block; color: inherit; text-decoration: none; }
.card .sub { color: var(--muted); font-size: 0.9rem; }
label { display: block; margin: var(--space-3) 0 var(--space-1); }
input, textarea { width: 100%; padding: var(--space-2); border: 1px solid var(--line); border-radius: var(--radius); font: inherit; }
button { padding: var(--space-2) var(--space-3); border-radius: var(--radius); border: 0; background: var(--accent); color: var(--accent-fg); font: inherit; cursor: pointer; }
button.secondary { background: transparent; color: var(--fg); border: 1px solid var(--line); }
.error { color: var(--warn); }
.empty { color: var(--muted); padding: var(--space-4) 0; text-align: center; }
.toast { position: fixed; bottom: var(--space-4); left: 50%; transform: translateX(-50%); background: var(--fg); color: var(--bg); padding: var(--space-2) var(--space-3); border-radius: var(--radius); }
