/* DETABIT / GAUSS DESIGN SYSTEM — v1.0
   Shared, framework-independent CSS tokens and UI primitives.
   Source of brand colors and type: DETABIT corporate site's styles.css.
   Load before application styles.css. */
:root {
  color-scheme: dark;
  --ds-font: "PT Sans", "Arial Narrow", Arial, sans-serif;
  --ds-bg: #070809;
  --ds-bg-raised: #101113;
  --ds-text-inverse: #f5f5f2;
  --ds-text-inverse-muted: #b3b4b3;
  --ds-canvas: #e9e9e5;
  --ds-surface: #f1f1ee;
  --ds-panel: #e9e9e5;
  --ds-text: #08090a;
  --ds-text-muted: #505356;
  --ds-border: #c8cac7;
  --ds-border-strong: #969996;
  --ds-accent: #d20a20;
  --ds-accent-hover: #ac0417;
  --ds-accent-dark: #a00519;
  --ds-focus: #d20a20;
  --ds-selected-bg: #f7dce0;
  --ds-danger: #ad0017;
  --ds-success: #236446;
  --ds-gutter: clamp(22px, 4.3vw, 84px);
  --ds-max-width: 1800px;
  --ds-header-height: 104px;
  --ds-radius-none: 0;
  --ds-radius-sm: 0;
  --ds-radius-md: 0;
  --ds-space-1: 4px;
  --ds-space-2: 8px;
  --ds-space-3: 12px;
  --ds-space-4: 16px;
  --ds-space-5: 24px;
  --ds-space-6: 32px;
  --ds-space-7: 48px;
  --ds-space-8: 64px;
  --ds-control-height: 44px;
  --ds-ease: cubic-bezier(.2,.8,.2,1);
  --ds-motion-fast: 150ms;
  --ds-motion-normal: 220ms;
}
/* Layout / hierarchy */
.ds-shell { width: min(100%, var(--ds-max-width)); margin-inline: auto; padding-inline: var(--ds-gutter); }
.ds-stack { display: grid; gap: var(--ds-space-4); }
.ds-row { display: flex; align-items: center; flex-wrap: wrap; gap: var(--ds-space-3); }
.ds-page-title { font-family: var(--ds-font); font-size: clamp(36px, 4vw, 64px); font-weight: 700; letter-spacing: -.03em; line-height: 1.05; }
.ds-muted { color: var(--ds-text-muted); }
.ds-card { min-width: 0; padding: var(--ds-space-5); background: var(--ds-surface); border: 1px solid var(--ds-border); }
.ds-panel { min-width: 0; padding: var(--ds-space-4); background: var(--ds-panel); border: 1px solid var(--ds-border); }
.ds-divider { border: 0; border-top: 1px solid var(--ds-border); margin: var(--ds-space-4) 0; }
.ds-badge { display: inline-flex; align-items: center; min-height: 26px; padding: 3px 8px; border: 1px solid var(--ds-border-strong); font-size: 12px; font-weight: 700; letter-spacing: .02em; }
/* Controls: namespaced primitives for all future tools. */
.ds-button { display: inline-flex; align-items: center; justify-content: center; gap: var(--ds-space-2); min-height: var(--ds-control-height); padding: 9px 14px; background: transparent; color: var(--ds-text); border: 1px solid var(--ds-border-strong); border-radius: var(--ds-radius-sm); font: 700 15px/1.25 var(--ds-font); text-decoration: none; cursor: pointer; transition: background var(--ds-motion-fast) var(--ds-ease), color var(--ds-motion-fast) var(--ds-ease); }
.ds-button:hover:not(:disabled) { background: var(--ds-canvas); }
.ds-button--primary { background: var(--ds-accent); border-color: var(--ds-accent); color: white; }
.ds-button--primary:hover:not(:disabled) { background: var(--ds-accent-hover); border-color: var(--ds-accent-hover); }
.ds-button--quiet { border-color: transparent; }
.ds-button:disabled { opacity: .48; cursor: not-allowed; }
.ds-field { display: grid; gap: var(--ds-space-1); min-width: 0; font: 400 14px/1.4 var(--ds-font); color: var(--ds-text-muted); }
.ds-input, .ds-select, .ds-textarea { width: 100%; min-width: 0; min-height: var(--ds-control-height); padding: 9px 11px; border: 1px solid var(--ds-border-strong); border-radius: var(--ds-radius-sm); background: var(--ds-surface); color: var(--ds-text); font: 400 16px/1.4 var(--ds-font); }
.ds-textarea { resize: vertical; }
.ds-input:disabled, .ds-select:disabled, .ds-textarea:disabled { opacity: .55; cursor: not-allowed; }
.ds-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: var(--ds-space-2); padding: var(--ds-space-3); border-bottom: 1px solid var(--ds-border); background: var(--ds-surface); }
.ds-tabs { display: flex; flex-wrap: wrap; gap: var(--ds-space-1); }
.ds-tab { min-height: 40px; padding: 8px 12px; border: 0; background: transparent; color: var(--ds-text-muted); font: 700 15px/1.25 var(--ds-font); cursor: pointer; }
.ds-tab[aria-selected="true"], .ds-tab[aria-pressed="true"] { background: var(--ds-selected-bg); color: var(--ds-accent-dark); }
.ds-button:focus-visible, .ds-input:focus-visible, .ds-select:focus-visible, .ds-textarea:focus-visible, .ds-tab:focus-visible { outline: 2px solid var(--ds-focus); outline-offset: 3px; }
@media (max-width: 740px) { :root { --ds-header-height: 72px; } }
@media (prefers-reduced-motion: reduce) { .ds-button { transition: none; } }
