:root {
  color-scheme: light;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;

  --galaz-brand: #9f1239;
  --galaz-brand-hover: #881337;
  --galaz-brand-dark: #4c0519;
  --galaz-brand-soft: #fff1f3;
  --galaz-brand-border: #e8a2b5;
  --galaz-accent: #6366f1;
  --galaz-accent-soft: #eef2ff;
  --galaz-ink: #182230;
  --galaz-label: #344054;
  --galaz-muted: #667085;
  --galaz-surface: #ffffff;
  --galaz-surface-subtle: #fafbfe;
  --galaz-control-background: #f8f9fc;
  --galaz-sidebar: #111827;
  --galaz-sidebar-soft: #1b2435;
  --galaz-border: #e5e7ef;
  --galaz-border-strong: #d7dbe7;
  --galaz-app-background: #f3f5fa;
  --galaz-radius-sm: .55rem;
  --galaz-radius-md: .75rem;
  --galaz-radius-lg: 1rem;
  --galaz-radius-xl: 1.25rem;
  --galaz-shadow-sm: 0 1px 2px rgb(16 24 40 / 4%), 0 2px 6px rgb(16 24 40 / 4%);
  --galaz-shadow-card: 0 6px 20px rgb(31 41 55 / 6%);
  --galaz-shadow-md: 0 14px 36px rgb(16 24 40 / 10%);
  --galaz-shadow-lg: 0 28px 80px rgb(16 24 40 / 18%);

  background: var(--galaz-app-background);
  color: var(--galaz-ink);
}

* { box-sizing: border-box; }

html {
  width: 100%;
  min-height: 100%;
  background: var(--galaz-app-background);
  -webkit-text-size-adjust: 100%;
}

body {
  width: 100%;
  min-width: 0;
  min-height: 100vh;
  margin: 0;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 88% -8%, rgb(99 102 241 / 9%), transparent 25rem),
    radial-gradient(circle at 18% 0%, rgb(159 18 57 / 6%), transparent 24rem),
    linear-gradient(180deg, #f7f8fc 0%, var(--galaz-app-background) 45%, #f0f3f9 100%);
}

galaz-dojo-app {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 100vh;
}

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

button,
a { -webkit-tap-highlight-color: transparent; }

button { color: inherit; }

a { color: var(--galaz-brand); }

:focus-visible {
  outline: 3px solid rgb(159 18 57 / 22%);
  outline-offset: 2px;
}

::selection {
  background: #fecdd3;
  color: #4c0519;
}

::-webkit-scrollbar { width: .72rem; height: .72rem; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 999px;
  background: #c5cad6;
  background-clip: padding-box;
}
::-webkit-scrollbar-thumb:hover { background: #98a2b3; background-clip: padding-box; }

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