* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  min-height: 100%;
  background: var(--bg-dark);
  overscroll-behavior-y: contain;
}

:root {
  --ld-purple: #5C2D91;
  --ld-purple-light: #7B4397;
  --ld-green: #A6CE39;
  --ld-green-dark: #8CB830;
  --bg-dark: #0f0f19;
  --panel-dark: rgba(15, 15, 25, 0.85);
  --field-dark: rgba(30, 30, 30, 0.85);
  --field-dark-focus: rgba(30, 30, 30, 0.8);
  --text-primary: #ffffff;
  --content-width: 940px;
  --dashboard-safe-gap: clamp(32px, 5vw, 72px);
  --radius-xl: 32px;
  --radius-md: 16px;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  background: var(--bg-dark);
  min-height: 100vh;
  min-height: 100dvh;
  padding: 40px 20px;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  overflow-x: hidden;
  overscroll-behavior-y: contain;
  position: relative;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  background:
    radial-gradient(ellipse at center, rgba(92, 45, 145, 0.15) 0%, rgba(166, 206, 57, 0.1) 50%, transparent 70%),
    linear-gradient(135deg, #1a0a2e 0%, #2d1b4e 50%, #0f1a0f 100%);
  pointer-events: none;
  z-index: 0;
}

button,
textarea {
  font: inherit;
}

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