:root {
  --bg: #ffffff;
  --fg: #111;
  --muted: #666;
  --border: #e3e3e3;
  --card: #fafafa;
  --radius: 10px;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  background: var(--bg);
  color: var(--fg);
  font: 16px/1.6 system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji";
}

.container {
  max-width: 900px;
  margin: 2rem auto;
  padding: 0 1rem;
}

h1 {
  margin: 0 0 1rem;
  font-size: 1.8rem;
}

.meta, .search {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
  margin-bottom: .75rem;
  color: var(--muted);
}

.meta .inline { display: inline-flex; gap: .5rem; align-items: center; }

input[type="text"], input[type="number"] {
  padding: .5rem .6rem;
  border: 1px solid var(--border);
  border-radius: .5rem;
  background: #fff;
  color: var(--fg);
}

button {
  padding: .5rem .8rem;
  border: 1px solid var(--border);
  border-radius: .5rem;
  background: #f3f3f3;
  cursor: pointer;
}

button:hover { background: #ededed; }

.list {
  display: grid;
  gap: .5rem;
}

.msg {
  padding: .9rem 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--card);
  white-space: pre-wrap;
  word-wrap: break-word;
}

.empty {
  color: var(--muted);
  margin: 1rem 0;
}

.pager {
  display: flex;
  gap: .5rem;
  margin-top: 1rem;
  flex-wrap: wrap;
}

.pager a, .pager span {
  padding: .45rem .7rem;
  border: 1px solid var(--border);
  border-radius: .5rem;
  text-decoration: none;
  color: inherit;
}

.pager .disabled {
  background: #f1f1f1;
  color: #9a9a9a;
}

.pager .sep { flex: 1 0 12px; border: none; }
