/* ChatUser.app: shared design tokens and opt-in components. No remote font dependencies. */
:root {
  --cu-forest: #173b34;
  --cu-lime: #def3ad;
  --cu-cream: #f8f9f3;
  --cu-muted: #657a71;
  --cu-line: #dde5db;
  --cu-white: #ffffff;
  --cu-focus: #3d7b61;
  --cu-font: "Segoe UI", system-ui, -apple-system, sans-serif;
  --cu-radius: 12px;
  --cu-space: 8px;
  --ink: var(--cu-forest);
  --muted: var(--cu-muted);
  --cream: var(--cu-cream);
  --line: var(--cu-line);
  --lime: var(--cu-lime);
  --white: var(--cu-white);
}
.cu-brand { display: inline-flex; align-items: center; gap: 12px; color: var(--cu-forest); font-family: var(--cu-font); font-size: 24px; font-weight: 700; letter-spacing: -1px; text-decoration: none; white-space: nowrap; }
.cu-brand img { width: 44px; height: 44px; }
.cu-brand .cu-domain { font-weight: 400; }
.cu-button { display: inline-flex; align-items: center; justify-content: center; padding: 12px 20px; border: 1px solid var(--cu-forest); border-radius: 8px; background: var(--cu-forest); color: var(--cu-white); font: 600 14px var(--cu-font); cursor: pointer; text-decoration: none; }
.cu-button:hover { background: #28594b; }
.cu-button:disabled { opacity: .5; cursor: default; }
.cu-button:focus-visible, .cu-brand:focus-visible { outline: 2px solid var(--cu-focus); outline-offset: 4px; }
.cu-button--accent { background: var(--cu-lime); color: var(--cu-forest); border-color: var(--cu-lime); }
.cu-button--accent:hover { background: #e9ffc1; }
.cu-card { padding: 24px; border: 1px solid var(--cu-line); border-radius: var(--cu-radius); background: var(--cu-white); color: var(--cu-forest); font-family: var(--cu-font); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }