/* ============================================================
   Base — reset & element defaults
   A∴R∴L∴S∴ Justiça e Liberdade
   ============================================================ */

* { box-sizing: border-box; }
html, body, #root { height: 100%; margin: 0; }
body {
  font-family: var(--f-ui);
  font-size: 14px;
  line-height: 1.5;
  color: var(--ink);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "ss01", "cv11";
}
button { font-family: inherit; cursor: pointer; }
input, select, textarea { font-family: inherit; font-size: inherit; color: inherit; }
a { color: inherit; }

/* Discreet symbol helper (Masonic glyphs drawn as inline SVG) */
.sym {
  display: inline-block;
  vertical-align: middle;
  color: currentColor;
}

/* Empty / placeholder state */
.empty {
  border: 1px dashed var(--line);
  border-radius: var(--radius);
  padding: var(--pad-5);
  text-align: center;
  color: var(--muted);
  font-family: var(--f-display);
  font-style: italic;
}

/* Fancy ornamental divider */
.divider-fancy {
  display: flex; align-items: center; gap: 12px;
  margin: var(--pad-4) 0;
  color: var(--muted);
}
.divider-fancy .line { flex: 1; height: 1px; background: var(--line); }
.divider-fancy .sym { color: var(--brown); }

.section-rule {
  border: 0;
  height: 1px;
  background: var(--line);
  margin: var(--pad-4) 0;
}
