@font-face { font-family: Outfit; src: url("/shared/assets/outfit-regular.ttf") format("truetype"); font-display: swap; font-style: normal; font-weight: 400; }
@font-face { font-family: Outfit; src: url("/shared/assets/outfit-medium.ttf") format("truetype"); font-display: swap; font-style: normal; font-weight: 500; }
@font-face { font-family: Outfit; src: url("/shared/assets/outfit-bold.ttf") format("truetype"); font-display: swap; font-style: normal; font-weight: 700; }

:root {
  color-scheme: light;
  --bg: #ffffff;
  --canvas: var(--bg);
  --surface: #ffffff;
  --surface-soft: #f8fafc;
  --surface-raised: #f3f0fe;
  --ink: #303133;
  --muted: #606266;
  --border: #dcdfe6;
  --line: #e4e7ed;
  --primary: #694af6;
  --primary-dark: #543bc5;
  --primary-soft: #f3f0fe;
  --on-primary: #ffffff;
  --green: var(--primary);
  --blue: var(--primary);
  --accent: var(--primary);
  --danger: #b42332;
  --danger-soft: #fff0f1;
  --on-danger: #ffffff;
  --warning: #855200;
  --warning-soft: #fff4d9;
  --success: #18714c;
  --success-soft: #e8f6ee;
  --info: #235c9f;
  --info-soft: #eaf1f8;
  --shadow: none;
  --radius: 6px;
  --radius-small: 4px;
  --max-width: 1384px;
  --footer-bg: var(--surface-soft);
  --footer-ink: var(--ink);
  font-family: Outfit, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
}

* {
  box-sizing: border-box;
}

[hidden] {
  display: none !important;
}

html {
  scroll-behavior: smooth;
}

body {
  min-width: 320px;
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: inherit;
  line-height: 1.55;
}

body.app-page {
  display: flex;
  min-height: 100vh;
  flex-direction: column;
}

body.app-page > main {
  flex: 1 0 auto;
}

button,
input,
select,
textarea,
a {
  font: inherit;
}

button {
  cursor: pointer;
}

button:disabled {
  cursor: not-allowed;
}

a {
  color: var(--primary-dark);
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

a:hover {
  color: var(--primary);
}
