/*
 * 100gan platform theme contract.
 * The root portal serves this file at /platform/theme.css so every mounted
 * subsystem consumes the same runtime token source.
 */
:root {
  color-scheme: light;
  --platform-bg: #f4f7fb;
  --platform-surface: #ffffff;
  --platform-surface-muted: #f7fafc;
  --platform-surface-strong: #edf3f8;
  --platform-ink: #12213f;
  --platform-muted: #71809c;
  --platform-border: #dfe8f2;
  --platform-border-strong: #c7d7e7;
  --platform-primary: #12a996;
  --platform-primary-strong: #0b8077;
  --platform-cyan: #168aad;
  --platform-accent: #f4b860;
  --platform-danger: #c65d64;
  --platform-focus: rgba(72, 202, 228, .35);
  --platform-shadow: 0 14px 34px rgba(24, 53, 91, .07);
  --platform-shadow-lg: 0 24px 60px rgba(24, 53, 91, .11);
}

html[data-theme='dark'] {
  color-scheme: dark;
  --platform-bg: #081329;
  --platform-surface: #102a55;
  --platform-surface-muted: #0d2145;
  --platform-surface-strong: #173a62;
  --platform-ink: #edf7fa;
  --platform-muted: #a9bdd5;
  --platform-border: #29466b;
  --platform-border-strong: #3d628e;
  --platform-primary: #35c7b4;
  --platform-primary-strong: #63dfc6;
  --platform-cyan: #8fe7f4;
  --platform-accent: #f4b860;
  --platform-danger: #ff9ca2;
  --platform-focus: rgba(143, 231, 244, .42);
  --platform-shadow: 0 18px 42px rgba(0, 0, 0, .24);
  --platform-shadow-lg: 0 28px 70px rgba(0, 0, 0, .32);
}

html, body, #root {
  min-height: 100%;
  background: var(--platform-bg);
  color: var(--platform-ink);
}

body { transition: background-color .2s ease, color .2s ease; }

button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 3px solid var(--platform-focus);
  outline-offset: 2px;
}

[data-100gan-surface],
.platform-surface {
  border-color: var(--platform-border);
  background: var(--platform-surface);
  color: var(--platform-ink);
  box-shadow: var(--platform-shadow);
}