:root { --bg:#f7f7f5; --fg:#1c1c1c; --muted:#6b6b6b; --line:#e2e2de; --accent:#2a6df4; --err:#b42318; --card:#fff; }
@media (prefers-color-scheme: dark) {
  :root { --bg:#141517; --fg:#e8e8e6; --muted:#9a9a98; --line:#2c2d30; --accent:#6c9cff; --err:#ff7a6b; --card:#1c1d20; }
}
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; }
a { color:var(--accent); text-decoration:none; } a:hover { text-decoration:underline; }
.top { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; padding:.75rem 1rem; border-bottom:1px solid var(--line); background:var(--card); }
.brand { font-weight:600; color:var(--fg); }
.top nav { display:flex; gap:1rem; flex:1; }
.who { color:var(--muted); font-size:.9rem; } .who a { margin-left:.5rem; }
main { max-width:1100px; margin:0 auto; padding:1.5rem 1rem; }
h1 { font-size:1.5rem; margin:0 0 1rem; } h2 { font-size:1.15rem; margin:2rem 0 .75rem; }
.card { background:var(--card); border:1px solid var(--line); border-radius:8px; padding:1.25rem; }
.narrow { max-width:420px; margin:3rem auto; }
.muted { color:var(--muted); }
.error { color:var(--err); }
.flash { padding:.5rem .75rem; border-left:3px solid var(--accent); background:var(--card); }
.tid { font:600 1.6rem ui-monospace,monospace; letter-spacing:.03em; user-select:all; }
.sections { list-style:none; padding:0; display:grid; gap:.5rem; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); }
.sections a { display:block; padding:1rem; background:var(--card); border:1px solid var(--line); border-radius:8px; }
form.inline { display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; margin:0; }
form.card { margin-bottom:1rem; }
input, select, button { font:inherit; padding:.35rem .5rem; border:1px solid var(--line); border-radius:6px; background:var(--card); color:var(--fg); }
button { cursor:pointer; background:var(--accent); color:#fff; border-color:var(--accent); }
button.link { background:none; border:none; color:var(--accent); padding:0; }
.scroll { overflow-x:auto; }
table { width:100%; border-collapse:collapse; background:var(--card); }
th, td { text-align:left; padding:.45rem .6rem; border-bottom:1px solid var(--line); white-space:nowrap; }
th { font-weight:600; color:var(--muted); font-size:.85rem; }
table.small { font-size:.85rem; }
tr.off td { color:var(--muted); }
tr[class^="ev-denied"] td, tr.ev-bad_signature td, tr.ev-expired td { color:var(--err); }
