:root { --bg:#f6f5f2; --surface:#fff; --text:#24231f; --muted:#6b6b64; --border:#e2e0d8; --accent:#3f7fb8; --warn:#b4691f; --err:#c0564d; --ok:#3d8a5a; }
@media (prefers-color-scheme: dark) { :root { --bg:#1b1b1d; --surface:#242426; --text:#eeeeec; --muted:#a3a29c; --border:#38383a; --accent:#7fb2e0; --warn:#e0a35c; --err:#e08178; --ok:#7cc79a; } }
* { box-sizing: border-box; }
html, body { margin:0; background:var(--bg); color:var(--text); }
body { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; line-height:1.45; }
main { max-width:760px; margin:0 auto; padding:16px; }
header { display:flex; justify-content:space-between; align-items:center; }
h1 { font-size:1.4rem; margin:6px 0; color:var(--accent); }
h2 { font-size:1.05rem; margin:0 0 4px; }
section { background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:16px; margin:14px 0; }
.muted { color:var(--muted); font-size:.85rem; }
.row { display:flex; gap:8px; flex-wrap:wrap; margin:8px 0; }
input, textarea, select { width:100%; border:1px solid var(--border); border-radius:10px; padding:10px 12px; font:inherit; background:var(--bg); color:var(--text); margin:6px 0; }
.row select { width:auto; flex:1; min-width:140px; margin:0; }
textarea { resize:vertical; }
button { background:var(--accent); color:#fff; border:none; border-radius:10px; padding:10px 16px; font:inherit; font-weight:600; cursor:pointer; }
button:disabled { opacity:.6; cursor:default; }
button.link { background:none; color:var(--muted); font-weight:400; padding:4px; }
button.small { padding:6px 10px; font-size:.85rem; }
a.dl { display:inline-block; margin:4px 8px 4px 0; padding:6px 12px; border:1px solid var(--border); border-radius:10px; color:var(--accent); text-decoration:none; font-size:.9rem; }
.issues { margin:8px 0; padding:0; list-style:none; font-size:.85rem; }
.issues li { padding:2px 0; }
.issues .error { color:var(--err); } .issues .warn { color:var(--warn); } .issues .info { color:var(--muted); }
.cov { margin:8px 0; padding:0; list-style:none; font-size:.88rem; }
.cov li { padding:3px 0; border-bottom:1px solid var(--border); }
.covered { color:var(--ok); } .partial { color:var(--warn); } .missing { color:var(--err); }
.change { border:1px solid var(--border); border-radius:10px; padding:8px 10px; margin:6px 0; font-size:.88rem; }
.change .b { color:var(--muted); text-decoration:line-through; } .change .a { color:var(--text); }
.err { color:var(--err); font-size:.88rem; margin-top:8px; }
.busy { color:var(--muted); font-size:.88rem; margin-top:8px; }
@media (max-width:480px) { main { padding:10px; } section { padding:12px; } }
