:root { --bg:#fafaf8; --fg:#1d1d1f; --muted:#6b6b70; --line:#e4e4e0; --accent:#2f5fd0; --star:#fff6d6; --card:#fff; --error:#c0392b; }
@media (prefers-color-scheme: dark) {
  :root { --bg:#141416; --fg:#ececef; --muted:#9a9aa2; --line:#2a2a2f; --accent:#7ea2ff; --star:#2e2a1a; --card:#1c1c20; --error:#ff7b6b; }
}
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font:16px/1.55 system-ui, -apple-system, "Segoe UI", sans-serif; }
a { color:var(--accent); }
.top { display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; align-items:baseline; justify-content:space-between; max-width:52rem; margin:0 auto; padding:1rem; border-bottom:1px solid var(--line); }
.brand { font-weight:700; font-size:1.2rem; color:var(--fg); text-decoration:none; }
.top nav { display:flex; flex-wrap:wrap; gap:1rem; }
main { max-width:52rem; margin:0 auto; padding:1rem; }
h2 { font-size:.95rem; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); margin:2rem 0 .5rem; }
.item { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:.9rem 1rem; margin:.75rem 0; }
.item.starred { background:var(--star); }
.item h3 { margin:0 0 .25rem; font-size:1.05rem; line-height:1.35; }
.item h3 a { color:var(--fg); text-decoration:none; }
.item h3 a:hover { text-decoration:underline; }
.meta { margin:0; color:var(--muted); font-size:.85rem; }
.tag { display:inline-block; margin-left:.4rem; padding:0 .45rem; border:1px solid var(--line); border-radius:999px; font-size:.75rem; color:var(--muted); text-decoration:none; }
.summary { margin:.5rem 0; }
.actions { display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; margin:0; font-size:.85rem; }
form.inline { display:inline; margin:0; }
button, .button { font:inherit; font-size:.85rem; padding:.3rem .7rem; border:1px solid var(--line); border-radius:6px; background:var(--card); color:var(--fg); cursor:pointer; text-decoration:none; display:inline-block; }
.filters { display:flex; flex-wrap:wrap; gap:.5rem; margin:.5rem 0 1rem; }
select, input[type=text], input[type=password], textarea { font:inherit; padding:.35rem .5rem; border:1px solid var(--line); border-radius:6px; background:var(--card); color:var(--fg); max-width:100%; }
textarea { width:100%; min-height:10rem; }
.pager { display:flex; justify-content:space-between; margin:1.5rem 0; }
.login { max-width:22rem; margin:3rem auto; display:flex; flex-direction:column; gap:.6rem; }
.error { color:var(--error); }
.original, .empty { color:var(--muted); }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-size:.85rem; }
td, th { text-align:left; padding:.4rem; border-bottom:1px solid var(--line); vertical-align:top; }
.edit label.field { display:block; margin:.75rem 0 .25rem; font-weight:600; }
.edit .full { width:100%; }
.edit .tagbox { display:inline-block; margin-right:1rem; font-weight:normal; }
