/* Hallmark · adaptive Ghost theme · modern-minimal · warm paper + slate ink
 * Light follows the supplied coral/peach/teal/blue palette; dark preserves the Electron DNA.
 * pre-emit critique: P5 H5 E4 S5 R5 V4 */
:root {
  color-scheme: light;

  --theme-bg: oklch(98.03% 0.0102 81.8);
  --theme-bg-raised: oklch(95.56% 0.0159 73.68);
  --theme-card: oklch(99.42% 0.0069 88.64);
  --theme-card-2: oklch(93.72% 0.0369 66.04);
  --theme-chip: oklch(95.17% 0.0084 236.56);
  --theme-border: oklch(79.87% 0.0348 246.88);
  --theme-border-soft: oklch(90.33% 0.0191 67.58);
  --theme-text: oklch(35% 0.0364 221.25);
  --theme-text-2: oklch(41.68% 0.0429 218.6);
  --theme-text-3: oklch(48% 0.0442 217.19);
  --theme-blue: oklch(48% 0.085 238.82);
  --theme-blue-soft: oklch(59.19% 0.0716 238.82 / 0.14);
  --theme-red: oklch(48% 0.15 14.11);
  --theme-red-soft: oklch(71.15% 0.1704 14.11 / 0.13);
  --theme-amber: oklch(48% 0.09 66);
  --theme-amber-soft: oklch(86.26% 0.0873 71.85 / 0.3);
  --theme-green: oklch(47% 0.075 194.79);
  --theme-green-soft: oklch(64.25% 0.1085 194.79 / 0.14);
  --theme-action: oklch(71.15% 0.1704 14.11);
  --theme-action-strong: oklch(74% 0.17 14.11);
  --theme-action-ink: oklch(31.5% 0.035 214);
  --theme-active-text: oklch(48% 0.15 14.11);
  --theme-focus: oklch(47% 0.075 194.79);
  --theme-orb: oklch(59.19% 0.0716 238.82);
  --theme-orb-ink: oklch(99.42% 0.0069 88.64);
  --theme-visual-sky: oklch(79.87% 0.0348 246.88);
  --theme-overlay: oklch(31.5% 0.035 214 / 0.48);
  --theme-glass: oklch(99.42% 0.0069 88.64 / 0.82);
  --theme-glass-rule: oklch(41.68% 0.0429 218.6 / 0.12);
  --theme-shadow-soft: oklch(35% 0.0364 221.25 / 0.12);
  --theme-shadow-strong: oklch(35% 0.0364 221.25 / 0.2);

  /* Platform marks · intentionally fixed brand colors in both themes. */
  --platform-apple-green: oklch(71% 0.17 140);
  --platform-apple-yellow: oklch(82% 0.17 80);
  --platform-apple-orange: oklch(70% 0.2 50);
  --platform-apple-red: oklch(62% 0.2 25);
  --platform-apple-violet: oklch(53% 0.17 325);
  --platform-apple-blue: oklch(65% 0.16 230);
  --platform-windows-red: oklch(65% 0.22 35);
  --platform-windows-green: oklch(72% 0.19 126);
  --platform-windows-blue: oklch(68% 0.17 235);
  --platform-windows-yellow: oklch(82% 0.17 80);

  --g-bg: var(--theme-bg);
  --g-bg-raised: var(--theme-bg-raised);
  --g-card: var(--theme-card);
  --g-card-2: var(--theme-card-2);
  --g-chip: var(--theme-chip);
  --g-border: var(--theme-border);
  --g-border-soft: var(--theme-border-soft);
  --g-text: var(--theme-text);
  --g-text-2: var(--theme-text-2);
  --g-text-3: var(--theme-text-3);
  --g-link: var(--g-text);
  --g-blue: var(--theme-blue);
  --g-blue-soft: var(--theme-blue-soft);
  --g-red: var(--theme-red);
  --g-red-soft: var(--theme-red-soft);
  --g-amber: var(--theme-amber);
  --g-amber-soft: var(--theme-amber-soft);
  --g-green: var(--theme-green);
  --g-green-soft: var(--theme-green-soft);

  --g-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --g-mono: ui-monospace, "SF Mono", Menlo, monospace;

  --home-paper: var(--g-bg);
  --home-paper-raised: var(--g-bg-raised);
  --home-surface: var(--g-card);
  --home-surface-warm: var(--g-card-2);
  --home-surface-cool: var(--g-chip);
  --home-ink: var(--g-text);
  --home-ink-2: var(--g-text-2);
  --home-muted: var(--g-text-3);
  --home-rule: var(--g-border);
  --home-rule-soft: var(--g-border-soft);
  --home-coral: var(--theme-action);
  --home-coral-strong: var(--theme-action-strong);
  --home-coral-ink: var(--theme-action-ink);
  --home-peach: var(--g-amber);
  --home-pink: var(--g-red);
  --home-sky: var(--theme-visual-sky);
  --home-blue: var(--theme-orb);
  --home-orb-ink: var(--theme-orb-ink);
  --home-blue-ink: var(--g-blue);
  --home-teal: var(--g-green);
  --home-teal-ink: var(--g-green);
  --home-warning-ink: var(--g-amber);
  --home-error-ink: var(--g-red);
  --home-coral-soft: var(--g-red-soft);
  --home-peach-soft: var(--g-amber-soft);
  --home-pink-soft: var(--g-red-soft);
  --home-sky-soft: var(--g-blue-soft);
  --home-blue-soft: var(--g-blue-soft);
  --home-teal-soft: var(--g-green-soft);
  --home-overlay: var(--theme-overlay);
  --home-glass: var(--theme-glass);
  --home-glass-rule: var(--theme-glass-rule);
  --home-shadow-soft: var(--theme-shadow-soft);
  --home-shadow-strong: var(--theme-shadow-strong);
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --theme-bg: oklch(18% 0.008 260);
  --theme-bg-raised: oklch(22% 0.009 260);
  --theme-card: oklch(26% 0.01 260);
  --theme-card-2: oklch(29% 0.011 260);
  --theme-chip: oklch(32% 0.012 260);
  --theme-border: oklch(38% 0.012 260);
  --theme-border-soft: oklch(31% 0.01 260);
  --theme-text: oklch(94% 0.008 260);
  --theme-text-2: oklch(80% 0.01 260);
  --theme-text-3: oklch(74% 0.012 260);
  --theme-blue: oklch(65% 0.19 260);
  --theme-blue-soft: oklch(65% 0.19 260 / 0.14);
  --theme-red: oklch(65% 0.15 15);
  --theme-red-soft: oklch(65% 0.15 15 / 0.14);
  --theme-amber: oklch(70% 0.12 75);
  --theme-amber-soft: oklch(70% 0.12 75 / 0.14);
  --theme-green: oklch(72% 0.12 155);
  --theme-green-soft: oklch(72% 0.12 155 / 0.14);
  --theme-action: oklch(65% 0.19 260);
  --theme-action-strong: oklch(72% 0.16 260);
  --theme-action-ink: oklch(18% 0.008 260);
  --theme-active-text: oklch(72% 0.16 260);
  --theme-focus: oklch(78% 0.15 260);
  --theme-orb: oklch(65% 0.19 260);
  --theme-orb-ink: oklch(96% 0.008 260);
  --theme-visual-sky: oklch(31% 0.035 245);
  --theme-overlay: oklch(8% 0.008 260 / 0.62);
  --theme-glass: oklch(16% 0.008 260 / 0.78);
  --theme-glass-rule: oklch(94% 0.008 260 / 0.08);
  --theme-shadow-soft: oklch(8% 0.008 260 / 0.45);
  --theme-shadow-strong: oklch(8% 0.008 260 / 0.65);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    color-scheme: dark;
    --theme-bg: oklch(18% 0.008 260);
    --theme-bg-raised: oklch(22% 0.009 260);
    --theme-card: oklch(26% 0.01 260);
    --theme-card-2: oklch(29% 0.011 260);
    --theme-chip: oklch(32% 0.012 260);
    --theme-border: oklch(38% 0.012 260);
    --theme-border-soft: oklch(31% 0.01 260);
    --theme-text: oklch(94% 0.008 260);
    --theme-text-2: oklch(80% 0.01 260);
    --theme-text-3: oklch(74% 0.012 260);
    --theme-blue: oklch(65% 0.19 260);
    --theme-blue-soft: oklch(65% 0.19 260 / 0.14);
    --theme-red: oklch(65% 0.15 15);
    --theme-red-soft: oklch(65% 0.15 15 / 0.14);
    --theme-amber: oklch(70% 0.12 75);
    --theme-amber-soft: oklch(70% 0.12 75 / 0.14);
    --theme-green: oklch(72% 0.12 155);
    --theme-green-soft: oklch(72% 0.12 155 / 0.14);
    --theme-action: oklch(65% 0.19 260);
    --theme-action-strong: oklch(72% 0.16 260);
    --theme-action-ink: oklch(18% 0.008 260);
    --theme-active-text: oklch(72% 0.16 260);
    --theme-focus: oklch(78% 0.15 260);
    --theme-orb: oklch(65% 0.19 260);
    --theme-orb-ink: oklch(96% 0.008 260);
    --theme-visual-sky: oklch(31% 0.035 245);
    --theme-overlay: oklch(8% 0.008 260 / 0.62);
    --theme-glass: oklch(16% 0.008 260 / 0.78);
    --theme-glass-rule: oklch(94% 0.008 260 / 0.08);
    --theme-shadow-soft: oklch(8% 0.008 260 / 0.45);
    --theme-shadow-strong: oklch(8% 0.008 260 / 0.65);
  }
}
.g-root {
  font-family: var(--g-sans);
  background: var(--g-bg);
  color: var(--g-text);
  -webkit-font-smoothing: antialiased;
  text-align: left;
}
.g-root * { box-sizing: border-box; }
.g-mono { font-family: var(--g-mono); }

/* Feature route shells — adaptive Ghost palette with the existing type and spacing system. */
:root {
  --fp-color-paper: var(--g-bg);
  --fp-color-paper-2: var(--g-bg-raised);
  --fp-color-paper-3: var(--g-card);
  --fp-color-rule: var(--g-border);
  --fp-color-ink: var(--g-text);
  --fp-color-muted: var(--g-text-2);
  --fp-color-quiet: var(--g-text-3);
  --fp-color-accent: var(--theme-action);
  --fp-color-accent-strong: var(--theme-action-strong);
  --fp-color-accent-ink: var(--theme-action-ink);
  --fp-color-focus: var(--theme-focus);
  --fp-color-success: var(--g-green);
  --fp-font-display: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --fp-font-body: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --fp-font-outlier: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --fp-space-3xs: 0.125rem;
  --fp-space-2xs: 0.25rem;
  --fp-space-xs: 0.5rem;
  --fp-space-sm: 0.75rem;
  --fp-space-md: 1rem;
  --fp-space-lg: 1.5rem;
  --fp-space-xl: 2.5rem;
  --fp-space-2xl: 4rem;
  --fp-space-3xl: 6rem;
  --fp-space-4xl: 9rem;
  --fp-text-xs: 0.75rem;
  --fp-text-sm: 0.875rem;
  --fp-text-base: 1rem;
  --fp-text-md: 1.25rem;
  --fp-text-lg: 1.5625rem;
  --fp-text-xl: 1.953rem;
  --fp-text-2xl: 2.441rem;
  --fp-text-display: clamp(2.65rem, 5.5vw + 0.5rem, 5.25rem);
  --fp-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --fp-ease-in: cubic-bezier(0.7, 0, 0.84, 0);
  --fp-ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --fp-dur-micro: 120ms;
  --fp-dur-short: 220ms;
  --fp-rule-hairline: 1px;
  --fp-radius-sm: 0.5rem;
  --fp-radius-md: 0.75rem;
  --fp-radius-lg: 1rem;
  --fp-shell: 72rem;
  --fp-gutter: clamp(1rem, 4vw, 3rem);
  --fp-z-sticky: 200;
  --gc-backdrop: var(--theme-overlay);
}
