/* Unified Platform — shared design tokens. Light only. */
:root {
  --platform-bg: #f5f5f7;
  --platform-surface: #ffffff;
  --platform-surface-secondary: #f6f6ff;
  --platform-field-secondary-bg: var(--platform-surface-secondary);
  --platform-field-secondary-border: rgba(99, 102, 241, 0.20);
  --platform-field-secondary-focus: rgba(99, 102, 241, 0.38);
  --platform-radius-md: 12px;
  --platform-ink: #1d1d1f;
  --platform-muted: #6e6e73;
  --platform-faint: #86868b;
  --platform-line: #e5e5ea;
  --platform-hover: rgba(29, 29, 31, 0.05);
  --platform-field-focus: var(--platform-ink);
  --platform-field-focus-wash: rgba(29, 29, 31, 0.045);
  --platform-active-fill: rgba(29, 29, 31, 0.06);
  --platform-danger: #8b3a3a;
  --platform-sidebar-w: 232px;
  /* Shared Platform favicon (menu trigger) — viewport-fixed, all modules. */
  --platform-brand-inset-x: 8px;
  --platform-brand-inset-y: 8px;
  --platform-brand-size: 40px;
  --platform-brand-mark-size: 28px;
  --platform-brand-center-x: calc(var(--platform-brand-inset-x) + var(--platform-brand-size) / 2);
  --platform-brand-center-y: calc(var(--platform-brand-inset-y) + var(--platform-brand-size) / 2);
  --platform-brand-gap: 12px;
  /* Shared document-module header: title origin relative to the fixed favicon. */
  --platform-header-title-x: calc(
    var(--platform-brand-inset-x) + var(--platform-brand-size) + var(--platform-brand-gap)
  );
  --platform-header-title-top: var(--platform-brand-inset-y);
  --platform-header-min-height: var(--platform-brand-size);
  /* Drawer surface starts at x=0 (covers module chrome). Internal padding
     is independent of the favicon object. */
  --platform-drawer-pad-x: 20px;
  --platform-drawer-pad-top: calc(var(--platform-brand-inset-y) + var(--platform-brand-size) + var(--platform-brand-gap));
  --platform-drawer-pad-bottom: 24px;
  --platform-z-module-chrome: 8;
  --platform-z-backdrop: 85;
  --platform-z-drawer: 90;
  --platform-z-favicon: 96;
  /* Legacy alias: clickable size only. Not a reserved layout column. */
  --platform-brand-rail-w: var(--platform-brand-size);
  --platform-page-gutter: 32px;
  --platform-page-max-narrow: 720px;
  --platform-page-max-standard: 1040px;
  --platform-page-max-wide: 1080px;
  --platform-page-pad-top: 28px;
  --platform-page-pad-bottom: 64px;
  --platform-page-gap: 18px;
  --platform-radius-sm: 10px;
  --platform-radius: 16px;
  --platform-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", "PingFang HK", "PingFang TC", "Microsoft JhengHei", Arial, sans-serif;
  --platform-fw-regular: 400;
  --platform-fw-medium: 500;
  --platform-fw-semibold: 600;
  --platform-module-size: 15px;
  --platform-module-weight: 500;
  --platform-module-lh: 1.4;
  --bg: var(--platform-bg);
  --surface: var(--platform-surface);
  --surface-secondary: var(--platform-surface-secondary);
  --field-secondary-bg: var(--platform-field-secondary-bg);
  --field-secondary-border: var(--platform-field-secondary-border);
  --field-secondary-focus: var(--platform-field-secondary-focus);
  --ink: var(--platform-ink);
  --text: var(--platform-ink);
  --muted: var(--platform-muted);
  --line: var(--platform-line);
  --font: var(--platform-font);
  color-scheme: light;
  accent-color: #1d1d1f;
}

.platform-module-name {
  font-family: var(--platform-font);
  font-size: var(--platform-module-size);
  font-weight: var(--platform-module-weight);
  line-height: var(--platform-module-lh);
  letter-spacing: -0.01em;
}
