:root { --bg:#f7f6f2; --fg:#1b1b1b; --muted:#5a5a5a; --card:#fff; --line:#d9d6cc; --ok:#1f6f3d; --thin:#8a5a00; --state:#5b3a8a; --bad:#a1261b; }
@media (prefers-color-scheme: dark) { :root { --bg:#141414; --fg:#ececec; --muted:#a3a3a3; --card:#1d1d1d; --line:#333; --ok:#5fcf8a; --thin:#e0b050; --state:#b99be0; --bad:#ff8a80; } }
* { box-sizing: border-box; }
body { margin:0; font:16px/1.5 system-ui, sans-serif; background:var(--bg); color:var(--fg); }
a { color:inherit; } main { max-width:1100px; margin:0 auto; padding:1rem; }
.top { display:flex; justify-content:space-between; align-items:center; padding:.6rem 1rem; border-bottom:1px solid var(--line); }
.brand { font:700 1.3rem Georgia, serif; text-decoration:none; } nav { display:flex; gap:1rem; align-items:center; }
.inline { display:inline; margin:0; }
button { font:inherit; padding:.45rem .9rem; border:1px solid var(--fg); background:var(--fg); color:var(--bg); border-radius:6px; cursor:pointer; }
button:disabled { opacity:.5; cursor:default; } button.link { background:none; color:inherit; border:0; text-decoration:underline; padding:0; }
.bar { display:flex; justify-content:space-between; align-items:center; gap:1rem; color:var(--muted); margin-bottom:1rem; flex-wrap:wrap; }
h2 { border-bottom:2px solid var(--fg); padding-bottom:.2rem; margin-top:2rem; }
.grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:1rem; }
.card, .box { background:var(--card); border:1px solid var(--line); border-radius:8px; padding:.9rem 1rem; }
.card h3 { margin:.4rem 0; line-height:1.25; font-family:Georgia, serif; } .card h3 a { text-decoration:none; }
.badge { display:inline-block; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; border:1.5px solid; border-radius:4px; padding:.05rem .4rem; }
.badge.ok { color:var(--ok); } .badge.thin { color:var(--thin); } .badge.state { color:var(--state); } .badge.disputed { color:var(--bad); }
.meta, .was { color:var(--muted); font-size:.85rem; margin:.3rem 0; } .differs { border-left:3px solid var(--bad); padding-left:.6rem; font-size:.9rem; }
.story { max-width:760px; } .country ul { list-style:none; padding:0; } .country li { margin:.5rem 0; } .country h3 { margin-bottom:.2rem; }
.tag { font-size:.75rem; color:var(--muted); border:1px solid var(--line); border-radius:4px; padding:0 .3rem; }
.narrow { max-width:560px; } label { display:block; margin:1rem 0 .3rem; font-weight:600; } .check { font-weight:400; }
input:not([type=checkbox]), textarea { width:100%; font:inherit; padding:.5rem; border:1px solid var(--line); border-radius:6px; background:var(--card); color:var(--fg); }
.error { color:var(--bad); font-weight:600; } .ok-msg { color:var(--ok); font-weight:600; }
