/* Research World design tokens: source palette + semantic aliases + components. */
:root {
  color-scheme: light;

  /* Primitive palette: quiet paper, graphite and restrained research accents. */
  --rw-primitive-air: #f8f8f5;
  --rw-primitive-sky-mist: #eeefec;
  --rw-primitive-deep-ink: #17232b;
  --rw-primitive-muted-ink: #5b676e;
  --rw-primitive-ink-soft: #394951;
  --rw-primitive-line: #b9c0bc;
  --rw-primitive-deep-sea: #2d666b;
  --rw-primitive-sky: #6f989e;
  --rw-primitive-sunlight: #d5b66f;
  --rw-primitive-sea-light: #d9e5e3;
  --rw-primitive-mist: #e4e8e4;
  --rw-primitive-sea-mid: #4c7d82;
  --rw-primitive-sea-muted: #84979a;
  --rw-primitive-white: #ffffff;
  --rw-primitive-overlay: #0f0f0f;
  --rw-primitive-shadow: #000000;

  /* Semantic colors. */
  --rw-color-page: var(--rw-primitive-sky-mist);
  --rw-color-surface: var(--rw-primitive-air);
  --rw-color-text: var(--rw-primitive-deep-ink);
  --rw-color-text-muted: var(--rw-primitive-muted-ink);
  --rw-color-text-strong-muted: var(--rw-primitive-ink-soft);
  --rw-color-border: var(--rw-primitive-line);
  --rw-color-action: var(--rw-primitive-deep-sea);
  --rw-color-action-hover: var(--rw-primitive-deep-ink);
  --rw-color-action-soft: var(--rw-primitive-sea-light);
  --rw-color-focus: var(--rw-primitive-deep-sea);
  --rw-color-highlight: var(--rw-primitive-sunlight);
  --rw-color-danger: #a13d3d;
  --rw-color-on-action: var(--rw-primitive-white);
  --rw-color-on-text: var(--rw-primitive-white);
  --rw-color-overlay: rgba(var(--rw-rgb-overlay), 0.46);
  --rw-color-shadow-soft: rgba(var(--rw-rgb-black), 0.08);

  /* Primitive channels are for translucent edges, focus rings and shadows. */
  --rw-rgb-air: 248, 248, 245;
  --rw-rgb-page: 238, 239, 236;
  --rw-rgb-text: 23, 35, 43;
  --rw-rgb-border: 185, 192, 188;
  --rw-rgb-action: 45, 102, 107;
  --rw-rgb-sky: 111, 152, 158;
  --rw-rgb-white: 255, 255, 255;
  --rw-rgb-black: 0, 0, 0;
  --rw-rgb-overlay: 15, 15, 15;

  /* Spacing and typography primitives. */
  --rw-space-1: 0.25rem;
  --rw-space-2: 0.5rem;
  --rw-space-3: 0.75rem;
  --rw-space-4: 1rem;
  --rw-space-6: 1.5rem;
  --rw-space-8: 2rem;
  --rw-space-12: 3rem;
  --rw-space-16: 4rem;
  --rw-font-ui: "Pretendard", "Noto Sans KR", "Noto Sans CJK KR", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;
  --rw-font-code: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --rw-type-meta: 0.75rem;
  --rw-type-ui: 0.875rem;
  --rw-type-body: 1rem;
  --rw-type-lead: 1.125rem;
  --rw-type-h3: 1.375rem;
  --rw-type-h2: 2rem;
  --rw-type-h1: clamp(2rem, 4.6vw, 3rem);
  --rw-type-display: clamp(2.25rem, 5.2vw, 4rem);
  --rw-line-body: 1.75;
  --rw-line-heading: 1.25;
  --rw-control-size: 44px;
  --rw-radius-small: 6px;
  --rw-radius-medium: 8px;
  --rw-radius-large: 12px;
  --rw-motion-fast: 120ms;
  --rw-motion-standard: 180ms;
  --rw-motion-camera: 320ms;

  /* Semantic compatibility aliases used by established pages and the engine. */
  --re-paper: var(--rw-color-page);
  --re-surface: var(--rw-color-surface);
  --re-ink: var(--rw-color-text);
  --re-muted: var(--rw-color-text-muted);
  --re-line: var(--rw-color-border);
  --re-accent: var(--rw-color-action);
  --re-accent-soft: var(--rw-color-action-soft);
  --re-sea: var(--rw-primitive-sky);
  --re-warm: var(--rw-color-highlight);
  --re-soft: var(--rw-primitive-mist);
  --re-ink-soft: var(--rw-color-text-strong-muted);
  --re-edge: var(--rw-primitive-sea-mid);
  --re-edge-related: var(--rw-primitive-sea-muted);
  --re-white: var(--rw-primitive-white);
  --re-overlay: var(--rw-color-overlay);
  --re-shadow: var(--rw-color-shadow-soft);
  --re-shell-height: 64px;
  --re-focus: 2px solid var(--rw-color-focus);

  /* Legacy page names remain aliases during the gradual template migration. */
  --paper: var(--re-paper);
  --surface: var(--re-surface);
  --panel: var(--re-surface);
  --ink: var(--re-ink);
  --muted: var(--re-muted);
  --line: var(--re-line);
  --soft: var(--re-accent-soft);
}

:where(button, input, select, textarea) {
  font: inherit;
}
