:root {
  color-scheme: light;

  --portal-font-sans: "Instrument Sans", "Jost", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --portal-font-display: "Sora", "Cormorant Garamond", Georgia, serif;
  --portal-font-serif: "Cormorant Garamond", Georgia, serif;
  --portal-font-mono: "Courier Prime", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

  --portal-bg: #f6f2ea;
  --portal-bg-subtle: #f7f4ef;
  --portal-surface: #fffaf4;
  --portal-surface-strong: #ffffff;
  --portal-surface-muted: #ebe4d8;
  --portal-ink: #211b16;
  --portal-ink-soft: rgba(33, 27, 22, 0.68);
  --portal-ink-muted: rgba(33, 27, 22, 0.48);
  --portal-line: rgba(78, 62, 49, 0.14);
  --portal-line-strong: rgba(78, 62, 49, 0.26);

  --portal-accent: #2f6f5f;
  --portal-accent-strong: #1f5447;
  --portal-accent-soft: rgba(47, 111, 95, 0.12);
  --portal-accent-glow: rgba(47, 111, 95, 0.18);
  --portal-rose: #b08a7e;
  --portal-rose-strong: #8c6457;
  --portal-rose-soft: #f5edea;
  --portal-warning: #c87a2e;
  --portal-danger: #b65443;
  --portal-success: #2a7b54;

  --portal-radius-sm: 8px;
  --portal-radius-md: 12px;
  --portal-radius-lg: 16px;
  --portal-radius-xl: 20px;
  --portal-radius-2xl: 24px;
  --portal-radius-pill: 999px;

  --portal-shadow-soft: 0 14px 30px rgba(39, 24, 13, 0.08);
  --portal-shadow: 0 24px 60px rgba(39, 24, 13, 0.12);
  --portal-shadow-float: 0 30px 80px rgba(39, 24, 13, 0.16);

  --portal-container: 1180px;
  --portal-sidebar-width: 310px;
  --portal-transition: 180ms ease;

  --bg: var(--portal-bg);
  --bg-elevated: rgba(255, 255, 255, 0.76);
  --bg-panel: rgba(255, 251, 246, 0.94);
  --bg-soft: var(--portal-surface-muted);
  --ink: var(--portal-ink);
  --ink-soft: var(--portal-ink-soft);
  --line: var(--portal-line);
  --line-strong: var(--portal-line-strong);
  --shadow: var(--portal-shadow);
  --shadow-soft: var(--portal-shadow-soft);
  --radius-xl: var(--portal-radius-2xl);
  --radius-lg: var(--portal-radius-xl);
  --radius-md: var(--portal-radius-lg);
  --radius-sm: var(--portal-radius-md);
  --accent: var(--portal-accent);
  --accent-strong: var(--portal-accent-strong);
  --accent-soft: var(--portal-accent-soft);
  --accent-glow: var(--portal-accent-glow);
  --danger: var(--portal-danger);
  --danger-soft: rgba(182, 84, 67, 0.12);
  --success: var(--portal-success);
  --warning: var(--portal-warning);
  --sidebar-width: var(--portal-sidebar-width);
  --font-display: var(--portal-font-display);
  --font-body: var(--portal-font-sans);
}

:root[data-portal-theme="dark"],
html.dark,
html.dark-linux {
  color-scheme: dark;

  --portal-bg: #0a0908;
  --portal-bg-subtle: #12100f;
  --portal-surface: #181513;
  --portal-surface-strong: #211c19;
  --portal-surface-muted: #14110f;
  --portal-ink: #f4eee8;
  --portal-ink-soft: #c8b7ac;
  --portal-ink-muted: #8e8078;
  --portal-line: rgba(224, 187, 163, 0.14);
  --portal-line-strong: rgba(224, 187, 163, 0.42);
  --portal-accent: #d9aa9d;
  --portal-accent-strong: #f0c8bd;
  --portal-accent-soft: rgba(217, 170, 157, 0.12);
  --portal-accent-glow: rgba(217, 170, 157, 0.18);
  --portal-shadow-soft: 0 14px 34px rgba(0, 0, 0, 0.2);
  --portal-shadow: 0 28px 64px rgba(0, 0, 0, 0.28);
  --portal-shadow-float: 0 36px 80px rgba(0, 0, 0, 0.36);
}

html.light-linux {
  color-scheme: light;
}
