

html.apparatus {
  
  --bg:            #07060d;   
  --panel:         rgba(9, 8, 14, 0.955);
  --panel-border:  rgba(196, 168, 106, 0.34);
  --text:          #e9e3d4;   
  --dim:           #9d9280;   
  --gold:          #c8a86a;   
  --white:         #f7f2e6;
  --accent:        #a99bd8;
  --claim:         #d98aa8;
  --ok:            #9dc79a;
  --fire:          #d8834e;

  
  --rule:          rgba(196, 168, 106, 0.26);
  --rule-strong:   rgba(196, 168, 106, 0.52);

  
  --face-text: 'Cardo', 'Iowan Old Style', 'Palatino Linotype', Palatino,
               'Book Antiqua', Georgia, 'Times New Roman', serif;
  --face-heb:  'Frank Ruhl Libre', 'Times New Roman', 'David Libre', serif;
  --face-mark: 'Cardo', Georgia, serif;
}

html.apparatus body,
html.apparatus button,
html.apparatus input,
html.apparatus textarea,
html.apparatus select {
  font-family: var(--face-text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-variant-ligatures: common-ligatures;
}
html.apparatus body { letter-spacing: 0.006em; }

html.apparatus .heb,
html.apparatus .hebruby .hr-l,
html.apparatus .hebword .hw-l,
html.apparatus .heb-kbd .hk-key,
html.apparatus [lang="he"] { font-family: var(--face-heb); }

html.apparatus .panel,
html.apparatus .overlay .ov-inner,
html.apparatus #mainmenu,
html.apparatus #search-results,
html.apparatus #stats,
html.apparatus .card,
html.apparatus .menu-grid .btn,
html.apparatus .btn,
html.apparatus .chip,
html.apparatus .sr,
html.apparatus .conn,
html.apparatus input,
html.apparatus textarea {
  border-radius: 1px;
  backdrop-filter: none;
  box-shadow: none;
}

html.apparatus .panel,
html.apparatus #mainmenu,
html.apparatus .overlay .ov-inner {
  border: 1px solid var(--rule);
  background: var(--panel);
}

html.apparatus .ov-sub { max-width: 66ch; }
html.apparatus .ov-sub, html.apparatus .panel { line-height: 1.68; }

html.apparatus .section-label,
html.apparatus .menu-group-label,
html.apparatus #mix-label {
  font-family: var(--face-mark);
  font-variant: small-caps;
  font-feature-settings: "smcp" 1;
  text-transform: lowercase;      
  letter-spacing: 0.14em;
  font-size: 12.5px;
  color: var(--gold);
  border-bottom: 1px solid var(--rule);
  padding-bottom: 3px;
}
html.apparatus .menu-group-sub { font-style: italic; color: var(--dim); }

html.apparatus .ov-title,
html.apparatus #brand h1 {
  font-family: var(--face-mark);
  font-weight: 400;
  letter-spacing: 0.20em;
  text-shadow: none;
  color: var(--white);
}
html.apparatus .ov-title { border-bottom: 1px solid var(--rule-strong); padding-bottom: 7px; }
html.apparatus #brand .sub { font-style: italic; letter-spacing: 0; color: var(--dim); }

html.apparatus .btn {
  border: 1px solid var(--rule);
  background: transparent;
  color: var(--text);
  letter-spacing: 0.05em;
  transition: border-color .18s, color .18s, background .18s;
}
html.apparatus .btn:hover {
  border-color: var(--rule-strong);
  background: rgba(196, 168, 106, 0.055);
  color: var(--white);
}
html.apparatus .btn.gold {
  border-color: var(--rule-strong);
  color: var(--gold);
  background: rgba(196, 168, 106, 0.075);
}

html.apparatus #btn-tithe {
  border-radius: 1px;
  border: 1px solid var(--rule-strong);
  background: rgba(9,8,14,.92);
  box-shadow: none;
  backdrop-filter: none;
  letter-spacing: 0.10em;
}
html.apparatus #btn-tithe:hover { background: rgba(196,168,106,.10); box-shadow: none; }

html.apparatus .ov-close {
  border-radius: 50%;
  background: var(--panel);
  border: 1px solid var(--rule);
  font-family: var(--face-mark);
  box-shadow: none;
}

html.apparatus .ov-sub span[style*="--dim"],
html.apparatus .panel span[style*="--dim"] {
  font-style: italic;
  display: inline-block;
  border-left: 1px solid var(--rule);
  padding-left: 9px;
  margin-top: 3px;
}

html.apparatus .ov-sub span[style*="--gold"] { font-style: normal; }

html.apparatus .chip {
  font-family: var(--face-mark);
  font-variant: small-caps;
  text-transform: lowercase;
  letter-spacing: 0.10em;
  border: 1px solid var(--rule);
  background: transparent;
}

html.apparatus #search,
html.apparatus input,
html.apparatus textarea {
  border: 1px solid var(--rule);
  background: rgba(7,6,13,.92);
  font-family: var(--face-text);
  letter-spacing: 0.01em;
}
html.apparatus #search::placeholder { font-style: italic; color: var(--dim); }
html.apparatus .sr,
html.apparatus .conn {
  border-bottom: 1px solid rgba(196,168,106,.13);
  border-radius: 0;
}
html.apparatus .sr:hover,
html.apparatus .conn:hover { background: rgba(196,168,106,.06); }

html.apparatus .sr .cy,
html.apparatus .conn .cy {
  font-variant: small-caps;
  text-transform: lowercase;
  letter-spacing: .08em;
  font-style: normal;
}

html.apparatus .dot { border-radius: 0; }

html.apparatus .scene-tooltip,
html.apparatus .graph-tooltip {
  font-family: var(--face-text) !important;
  letter-spacing: .01em;
}

html.apparatus input[type=range] { accent-color: var(--gold); }

@media (pointer: coarse) {
  html.apparatus .btn { min-height: 44px; }
}

@media (prefers-reduced-transparency: reduce) {
  html.apparatus .panel,
  html.apparatus #mainmenu,
  html.apparatus .overlay .ov-inner { background: #07060d; }
}
