:root{
  --bg:#EEF1EC; --surface:#FFFFFF; --surface2:#F5F7F3; --fg:#18231C; --muted:#5E6B62; --line:#D9DFD8;
  --accent:#17692B; --accent-fg:#FFFFFF; --brass:#17692B;
  --ok:#1F7A4A; --ok-bg:#E3F3E9; --bad:#B23A2E; --bad-bg:#FBE7E4; --warn:#8A5A00; --warn-bg:#FFF3D6;
  --font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --r:14px;
}
@media (prefers-color-scheme: dark){:root{
  --bg:#0F1712; --surface:#1A251E; --surface2:#212E26; --fg:#E9EFE8; --muted:#97A59B; --line:#2E3D34;
  --accent:#4CC66A; --accent-fg:#06180B; --brass:#4CC66A;
  --ok:#5FD08F; --ok-bg:#16301F; --bad:#F08070; --bad-bg:#3A1C18; --warn:#F2C25B; --warn-bg:#3A2F12;
  color-scheme:dark }}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{background:var(--bg);color:var(--fg);font:15px/1.45 var(--font);-webkit-tap-highlight-color:transparent;
  padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
h1,h2,h3{line-height:1.15;text-wrap:balance;margin:0}
button,input,select{font:inherit;color:inherit}
input,select{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:11px 12px;width:100%}
input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
label{display:flex;flex-direction:column;gap:5px;font-size:.85rem;color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;padding:11px 16px;
  background:var(--accent);color:var(--accent-fg);font-weight:600;cursor:pointer;text-decoration:none}
.btn.ghost{background:transparent;color:var(--fg);border:1px solid var(--line)}
.btn.danger{background:transparent;color:var(--bad);border:1px solid var(--line)}
.btn.small{padding:7px 11px;font-size:.85rem}
.btn:disabled{opacity:.5;cursor:default}
.err{color:var(--bad);font-size:.9rem;min-height:1.2em}
.muted{color:var(--muted)}
.mono{font-family:var(--mono)}
.tabnum{font-variant-numeric:tabular-nums}
[hidden]{display:none!important}
.badge{background:#fff;border-radius:12px;padding:4px;display:inline-flex;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.badge img{display:block;height:100%;width:auto}
.brandrow{display:flex;align-items:center;gap:10px}
.brandtxt{display:flex;flex-direction:column;line-height:1.15}
.brandtxt b{font-weight:800;font-size:1rem}
.brandtxt small{color:var(--muted);font-size:.78rem}
