:root { --bg:#f7f5f0; --fg:#1d1b17; --muted:#6b665c; --line:#d8d3c7; --accent:#8a6a1f; --err:#a3261c; }
@media (prefers-color-scheme: dark) {
  :root { --bg:#17150f; --fg:#efeadd; --muted:#a39d8f; --line:#3a362c; --accent:#d4a94a; --err:#ff8a7a; }
}
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font:17px/1.55 Georgia, "Times New Roman", serif; }
main { max-width:40rem; margin:0 auto; padding:2.5rem 16px 4rem; }
h1 { font-size:1.9rem; margin:0 0 1rem; }
h2 { font-size:1.25rem; margin:2rem 0 .5rem; }
label { display:block; margin:1.1rem 0; }
input:not([type=checkbox]) { display:block; width:100%; margin-top:.35rem; padding:.6rem; font:inherit;
  color:inherit; background:transparent; border:1px solid var(--line); border-radius:4px; }
.check { display:flex; gap:.6rem; align-items:flex-start; font-size:.92rem; color:var(--muted); }
.check input { margin-top:.35rem; }
button { font:inherit; padding:.65rem 1.4rem; border:0; border-radius:4px; background:var(--accent);
  color:var(--bg); cursor:pointer; }
button:focus-visible, input:focus-visible, a:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
progress { display:block; width:100%; margin-top:1rem; }
.error { color:var(--err); min-height:1.5em; }
.keep { border-left:3px solid var(--accent); padding-left:.8rem; color:var(--muted); font-size:.95rem; }
.voice { display:grid; grid-template-columns:1fr; gap:.4rem; padding:.9rem 0; border-bottom:1px solid var(--line); }
.voice audio { width:100%; }
#files { padding-left:1.2rem; }
a { color:var(--accent); }
[hidden] { display:none !important; }
header { display:flex; justify-content:space-between; align-items:baseline; gap:1rem; margin-bottom:1rem; }
header h1 { margin:0; }
header h1 a { color:inherit; text-decoration:none; }
button.quiet { background:transparent; color:var(--muted); border:1px solid var(--line); padding:.35rem .8rem; font-size:.9rem; }
.muted { color:var(--muted); font-size:.92rem; }
.jobs { list-style:none; padding:0; margin:0; }
.jobs li { padding:.9rem 0; border-bottom:1px solid var(--line); }
.job-head { display:flex; justify-content:space-between; gap:.8rem; align-items:baseline; }
.job-head a { overflow-wrap:anywhere; }
.tag { font:600 .78rem/1 system-ui, sans-serif; padding:.3rem .5rem; border-radius:3px; border:1px solid var(--line); color:var(--muted); white-space:nowrap; }
.tag.done { color:var(--accent); border-color:var(--accent); }
.tag.failed { color:var(--err); border-color:var(--err); }
.links { display:flex; flex-wrap:wrap; gap:.3rem 1rem; margin-top:.3rem; font-size:.95rem; }
