:root {
  --bg: #ffffff;
  --fg: #0a0a0a;
  --muted: #6b7280;
  --primary: #0b5fff;
  --danger: #ef4444;
}

.theme-dark {
  --bg: #0b0d12;
  --fg: #e5e7eb;
  --muted: #9ca3af;
  --primary: #5b8cff;
}

* { box-sizing: border-box; }
html, body { height: 100%; }
body { background: var(--bg); color: var(--fg); line-height: 1.6; }
a { color: var(--primary); text-decoration: none; }
button { background: var(--primary); color: #fff; border: 0; padding: 8px 12px; border-radius: 8px; cursor: pointer; }
button[aria-pressed="true"] { outline: 2px solid #fff; }
label { display:block; margin: 12px 0; }
input, textarea { width: 100%; padding: 8px; border: 1px solid #e5e7eb; border-radius: 8px; background: var(--bg); color: var(--fg); }
header, main { max-width: 1000px; margin: 0 auto; padding: 16px; }
.page-item { display:flex; align-items:center; justify-content: space-between; padding: 8px; border: 1px solid #e5e7eb; border-radius: 8px; margin: 8px 0; }
.page-item .meta { display:flex; gap: 8px; align-items: baseline; }
.page-item .url { color: var(--muted); }
.auth { max-width: 400px; margin: 64px auto; }

/* A11y: крупный шрифт и заметный фокус */
.a11y-large { font-size: 112.5%; }
.a11y-large :focus { outline: 3px solid #ffbf47; outline-offset: 2px; }
