:root {
  --eut-color-primary: #0b4f8a;
  --eut-color-primary-hover: #083d6b;
  --eut-color-secondary: #1674b8;
  --eut-color-accent: #f2b544;
  --eut-surface-page: #f4f7fa;
  --eut-surface-card: #ffffff;
  --eut-surface-muted: #edf2f6;
  --eut-text-primary: #10243a;
  --eut-text-secondary: #42566d;
  --eut-text-muted: #66788c;
  --eut-border-default: #cfdae5;
  --eut-border-subtle: #e5ebf1;
  --eut-status-success: #087a55;
  --eut-status-success-soft: #e8f6f0;
  --eut-status-warning: #9a6200;
  --eut-status-warning-soft: #fff4d6;
  --eut-status-danger: #b4232f;
  --eut-status-danger-soft: #fff0f1;
  --eut-status-info: #0b5fa5;
  --eut-status-info-soft: #eaf3fb;
  --eut-status-neutral: #5d6b7a;
  --eut-status-neutral-soft: #eef2f5;
  --eut-radius-sm: 4px;
  --eut-radius-md: 8px;
  --eut-radius-lg: 12px;
  --eut-shadow-sm: 0 1px 2px rgba(16, 36, 58, 0.06);
  --eut-shadow-md: 0 12px 32px rgba(16, 36, 58, 0.09);
  --eut-space-1: 4px;
  --eut-space-2: 8px;
  --eut-space-3: 12px;
  --eut-space-4: 16px;
  --eut-space-5: 20px;
  --eut-space-6: 24px;
  --eut-space-8: 32px;
  --eut-space-10: 40px;
  --eut-space-12: 48px;
  --eut-container: 1180px;
  --eut-control-height: 48px;
  --eut-transition: 180ms ease;
  --eut-focus-ring: 0 0 0 3px rgba(22, 116, 184, 0.24);
}

html { color-scheme: light; }

body {
  color: var(--eut-text-primary);
  background: var(--eut-surface-page);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
  line-height: 1.6;
  letter-spacing: 0;
}

button, input, select, textarea { font: inherit; }
button, a, summary, input, select, textarea { touch-action: manipulation; }

:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--eut-color-secondary);
  outline-offset: 2px;
  box-shadow: var(--eut-focus-ring);
}

.eut-skip-link {
  position: fixed;
  top: var(--eut-space-3);
  left: var(--eut-space-3);
  z-index: 1000;
  padding: 10px 14px;
  border-radius: var(--eut-radius-sm);
  color: #fff;
  background: var(--eut-color-primary-hover);
  font-weight: 700;
  text-decoration: none;
  transform: translateY(-160%);
  transition: transform var(--eut-transition);
}

.eut-skip-link:focus { transform: translateY(0); }

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

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