:root {
  --bg: #faf8f5;
  --bg-2: #ffffff;
  --bg-3: #f2eee8;
  --text: #1c1a17;
  --text-2: #6b645c;
  --border: #e6e1d9;
  --border-2: #d6cfc4;
  --accent: #8a6529;
  --accent-soft: #f0e7d7;
  --accent-text: #ffffff;
  --danger: #a8443a;
  --ok: #3f7a4d;
  --radius: 14px;
  --radius-sm: 10px;
  --shadow: 0 1px 2px rgba(28,26,23,.05), 0 4px 16px rgba(28,26,23,.045);
  --shadow-lg: 0 2px 6px rgba(28,26,23,.07), 0 16px 44px rgba(28,26,23,.10);
}

[data-theme="dark"] {
  --bg: #141311;
  --bg-2: #1c1a18;
  --bg-3: #232120;
  --text: #ece8e2;
  --text-2: #a09890;
  --border: #2c2926;
  --border-2: #3d3935;
  --accent: #d4a866;
  --accent-soft: #2a231a;
  --accent-text: #171512;
  --danger: #d97a6e;
  --ok: #6fb383;
  --shadow: 0 1px 2px rgba(0,0,0,.35), 0 4px 16px rgba(0,0,0,.30);
  --shadow-lg: 0 2px 6px rgba(0,0,0,.45), 0 16px 44px rgba(0,0,0,.45);
}

body {
  background: var(--bg);
  color: var(--text);
  font-weight: 420;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  transition: background .25s, color .25s;
}

*:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: 6px;
}

.splash {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  background: var(--bg);
  transition: opacity .35s;
}

.splash.hide {
  opacity: 0;
  pointer-events: none;
}

.splash svg {
  width: 76px;
  height: 76px;
  animation: splash-pulse 1.2s ease-in-out infinite;
}

@keyframes splash-pulse {
  50% { opacity: .45; transform: scale(.94); }
}

.table-scroll {
  overflow-x: auto;
  max-width: 100%;
}
