:root {
  --dh-aubergine: #35172F;
  --dh-lime: #B5CF00;
  --dh-ivory: #F5F1E8;
  --dh-surface: #FFFFFF;
  --dh-text: #35172F;
  --dh-text-muted: #695763;
  --dh-border: #D5CAD0;
  --dh-control-border: #83717D;
  --dh-success: #226344;
  --dh-error: #A32639;
  --dh-warning: #775200;
  --dh-info: #374B83;
  --dh-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --dh-radius-control: 12px;
  --dh-radius-card: 20px;
  --dh-radius-modal: 24px;
  --dh-content-max: 1200px;
  --dh-shadow: 0 6px 24px rgb(53 23 47 / 7%);
}
.dh-scope { background: var(--dh-ivory); color: var(--dh-text); font: 400 16px/1.5 var(--dh-font); }
.dh-scope *, .dh-scope *::before, .dh-scope *::after { box-sizing: border-box; }
.dh-button { min-height: 48px; padding: 12px 20px; border: 1px solid transparent; border-radius: var(--dh-radius-control); font: 600 16px/1.25 var(--dh-font); cursor: pointer; }
.dh-button--primary { background: var(--dh-aubergine); color: var(--dh-ivory); }
.dh-button--accent { background: var(--dh-lime); color: var(--dh-aubergine); }
.dh-button--secondary { background: transparent; color: var(--dh-aubergine); border-color: var(--dh-control-border); }
.dh-button:hover:not(:disabled) { filter: brightness(.95); }
.dh-button:disabled { opacity: .5; cursor: not-allowed; }
.dh-scope :focus-visible { outline: 3px solid var(--dh-aubergine); outline-offset: 3px; box-shadow: 0 0 0 3px var(--dh-ivory); }
.dh-card { background: var(--dh-surface); border: 1px solid var(--dh-border); border-radius: var(--dh-radius-card); padding: 24px; }
.dh-input { width: 100%; min-height: 48px; border: 1px solid var(--dh-control-border); border-radius: var(--dh-radius-control); padding: 12px 16px; color: var(--dh-text); background: var(--dh-surface); font: inherit; }
.dh-input[aria-invalid="true"] { border-color: var(--dh-error); }
.dh-scope a { color: var(--dh-aubergine); text-decoration: underline; text-underline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .dh-scope *, .dh-scope *::before, .dh-scope *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
