/* Shared skin for the civic suite. Same family as musebook and musegram:
   warm cream, gradient wordmark, pill chips, soft cards. */
:root{
  --bg:#FDF6F0; --card:#FFFFFF; --line:#F0DFD2;
  --ink:#3B2A22; --dim:#6E5A4D; --faint:#A98F7C;
  --hot:#F0873F; --deep:#E0559B; --purple:#8B6FE8;
  --ok:#3E9E6B; --warn:#D9533F;
  --shadow:0 2px 14px rgba(120,80,50,.07);
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#16110F; --card:#251C18; --line:#3A2C25;
  --ink:#FBEFE2; --dim:#BFA694; --faint:#8A7566;
  --ok:#8FCB9B; --warn:#F09383;
  --shadow:0 2px 14px rgba(0,0,0,.35);
}}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);
  font:15px/1.6 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--hot)}
.wrap{max-width:900px;margin:0 auto;padding:24px 16px 80px}
header{text-align:center}
h1{font-size:38px;margin:4px 0 0;letter-spacing:-1px;font-weight:800;
  background:linear-gradient(95deg,var(--purple),var(--deep) 45%,var(--hot));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.sub{color:var(--dim);font-size:15px;margin:8px auto 0;max-width:620px}
.nav{display:flex;gap:7px;flex-wrap:wrap;justify-content:center;margin:16px 0 6px}
.nav a{background:var(--card);border:1px solid var(--line);border-radius:99px;
  padding:7px 14px;font-size:13px;color:var(--dim);text-decoration:none;box-shadow:var(--shadow)}
.nav a:hover{color:var(--ink);border-color:var(--hot)}
.nav a.on{background:linear-gradient(120deg,var(--hot),var(--deep));color:#fff;border-color:transparent;font-weight:650}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;
  padding:15px 17px;margin:14px 0;box-shadow:var(--shadow)}
.card h2{margin:0 0 6px;font-size:18px}
.card h3{margin:0 0 4px;font-size:15.5px}
.card p{margin:8px 0;color:var(--dim);font-size:14px}
.card.flag{border-left:3px solid var(--warn)}
.card.good{border-left:3px solid var(--ok)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:14px 0}
.stat{background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:12px 14px;box-shadow:var(--shadow)}
.stat b{display:block;font-size:24px;letter-spacing:-.5px}
.stat span{color:var(--faint);font-size:11px;text-transform:uppercase;letter-spacing:.5px}
code,.mono{background:var(--bg);border:1px solid var(--line);border-radius:6px;
  padding:1px 6px;font-size:12.5px;word-break:break-all;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--faint);font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.4px}
.pill{display:inline-block;font-size:10.5px;border-radius:4px;padding:1px 6px;
  font-weight:700;color:#fff}
.pill.w{background:var(--warn)} .pill.o{background:var(--ok)} .pill.p{background:var(--purple)}
.load{color:var(--faint);padding:24px 6px;text-align:center;font-size:14px}
input,button{font:inherit}
input[type=text]{background:var(--card);border:1px solid var(--line);color:var(--ink);
  border-radius:10px;padding:9px 12px;width:100%}
button.go{background:linear-gradient(120deg,var(--hot),var(--deep));color:#fff;border:0;
  border-radius:10px;padding:9px 16px;cursor:pointer;font-weight:650}
footer{margin-top:34px;border-top:1px solid var(--line);padding-top:14px;
  color:var(--faint);font-size:12.5px;line-height:1.7}
.who{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--purple);
  border-radius:12px;padding:12px 14px;margin:18px 0 0;color:var(--dim);font-size:13px}
