/* Aje — generated from design tokens by app/theme.py. Do not hand-edit. */
/* tenant: morency */
:root {
  color-scheme: dark;

  --mco-obsidian-950: #0b0e1f;
  --mco-obsidian-900: #10142b;
  --mco-carbon-800: #131833;
  --mco-carbon-700: #1a2042;
  --mco-graphite-600: #262d57;
  --mco-brass-900: #3b382f;
  --mco-brass-700: #a69d88;
  --mco-gold-500: #e3d9c3;
  --mco-champagne-300: #f1ebdd;
  --mco-parchment-100: #fbf8f1;
  --mco-oxblood-700: #8e4530;
  --mco-oxblood-500: #c46e52;

  --mco-text-primary: #f2efe7;
  --mco-text-secondary: #c6c8d9;
  --mco-text-muted: #9c9fba;
  --mco-text-inverse: #10142b;

  --mco-success: #9ccbb0;
  --mco-success-subtle: #13241d;
  --mco-warning: #e2c27f;
  --mco-warning-subtle: #2a2315;
  --mco-danger: #e8a08f;
  --mco-danger-subtle: #331b1a;
  --mco-info: #a9b8e8;
  --mco-info-subtle: #161d38;

  --mco-canvas: var(--mco-obsidian-950);
  --mco-surface-base: var(--mco-obsidian-900);
  --mco-surface-sidebar: var(--mco-carbon-800);
  --mco-surface-card: var(--mco-carbon-700);
  --mco-surface-raised: var(--mco-graphite-600);

  --mco-border-subtle: rgba(227, 217, 195, 0.14);
  --mco-border-strong: rgba(227, 217, 195, 0.34);
  --mco-focus-ring: 0 0 0 3px rgba(227, 217, 195, 0.22);

  --mco-gradient-metal: linear-gradient(
    135deg,
    #a69d88 0%,
    #f1ebdd 46%,
    #e3d9c3 68%,
    #6c6656 100%
  );

  --mco-font-display: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --mco-font-ui: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --mco-font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  --mco-radius-compact: 6px;
  --mco-radius-control: 8px;
  --mco-radius-card: 12px;
  --mco-radius-modal: 14px;
  --mco-shadow-card: 0 18px 50px rgba(0, 0, 0, 0.24);
  --mco-shadow-modal: 0 28px 90px rgba(0, 0, 0, 0.48);

  --mco-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --mco-fast: 120ms;
  --mco-standard: 180ms;
  --mco-panel: 260ms;
}

html {
  background: var(--mco-canvas);
  color: var(--mco-text-primary);
  font-family: var(--mco-font-ui);
  text-rendering: optimizeLegibility;
}

body {
  min-height: 100vh;
  margin: 0;
  background:
    radial-gradient(circle at 68% -10%, rgba(227, 217, 195, 0.055), transparent 32rem),
    var(--mco-canvas);
}

::selection {
  background: rgba(227, 217, 195, 0.28);
  color: var(--mco-text-primary);
}

:focus-visible {
  outline: 1px solid var(--mco-gold-500);
  outline-offset: 2px;
  box-shadow: var(--mco-focus-ring);
}

.mco-display {
  font-family: var(--mco-font-display);
  font-weight: 500;
  letter-spacing: 0.035em;
}

.mco-data,
.mco-money,
.mco-date {
  font-variant-numeric: tabular-nums slashed-zero;
}

.mco-id,
.mco-hash {
  font-family: var(--mco-font-mono);
  font-variant-numeric: tabular-nums slashed-zero;
}

.mco-card {
  border: 1px solid var(--mco-border-subtle);
  border-radius: var(--mco-radius-card);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.018), transparent 35%),
    var(--mco-surface-card);
  box-shadow: var(--mco-shadow-card);
}

.mco-primary-button {
  min-height: 44px;
  border: 1px solid rgba(251, 248, 241, 0.34);
  border-radius: var(--mco-radius-control);
  background: var(--mco-gradient-metal);
  color: var(--mco-text-inverse);
  font: 700 0.875rem/1 var(--mco-font-ui);
  transition:
    transform var(--mco-fast) var(--mco-ease),
    filter var(--mco-standard) var(--mco-ease);
}

.mco-primary-button:hover {
  filter: brightness(1.06);
}

.mco-primary-button:active {
  transform: translateY(1px);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ---- additive ---------------------------------------------------------- */
/* Channel triplets. CSS cannot decompose a hex custom property inside rgba(), so
   `rgba(var(--mco-accent-rgb), .28)` is the only way a tenant's accent can carry
   its own alpha blends. The landing stylesheet and the standalone page heads use
   these instead of the literals they used to hardcode. */
:root {
  --mco-accent-rgb: 227, 217, 195;
  --mco-accent-hi-rgb: 241, 235, 221;
  --mco-accent-lo-rgb: 166, 157, 136;
  --mco-canvas-rgb: 11, 14, 31;
  --mco-surface-base-rgb: 16, 20, 43;
  --mco-surface-card-rgb: 26, 32, 66;
  --mco-parchment-rgb: 251, 248, 241;
  --mco-text-primary-rgb: 242, 239, 231;
  --mco-success-rgb: 156, 203, 176;
  --mco-ink-rgb: 0, 0, 0;
}
