/* Base layout */
* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--header-offset);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  min-height: 100vh;
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  line-height: 1.5;
  transition: background-color 0.2s ease, color 0.2s ease;
}

body.dark-mode {
  background:
    radial-gradient(circle at top left, rgba(99, 144, 241, 0.24), transparent 34rem),
    linear-gradient(135deg, #0d111b 0%, #151927 45%, #0b0d13 100%);
  color: var(--text-dark);
}

body.light-mode {
  background:
    radial-gradient(circle at top left, rgba(99, 144, 241, 0.18), transparent 32rem),
    linear-gradient(135deg, #f6f8ff 0%, #eef2fb 48%, #ffffff 100%);
  color: var(--text-light);
}

.app-shell {
  width: min(var(--page-width), calc(100% - 28px));
  margin: 0 auto;
  padding: 14px 0 42px;
}

.container {
  display: grid;
  gap: 34px;
  padding-bottom: 36px;
}
