/*
 * Theme tokens and local font assets
 * Source: Noto Serif SC (OFL) bundled locally.
 */

@font-face {
  font-family: "Noto Serif SC Local";
  src: url("../../fonts/theme/NotoSerifSC-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  unicode-range: U+0000-00FF, U+2000-206F, U+3000-303F, U+4E00-9FFF;
}

@font-face {
  font-family: "Noto Serif SC Local";
  src: url("../../fonts/theme/NotoSerifSC-SemiBold.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  unicode-range: U+0000-00FF, U+2000-206F, U+3000-303F, U+4E00-9FFF;
}

:root {
  --ink-900: #121212;
  --ink-700: #2f2f2f;
  --ink-500: #686868;
  --ink-300: #d9d9d9;
  --surface-0: #ffffff;
  --surface-1: #f5f5f5;

  --font-display: "Noto Serif SC Local", "Songti SC", "STSong", "SimSun", serif;
  --font-body: "Noto Serif SC Local", "Songti SC", "STSong", "SimSun", serif;

  --container-max: 1140px;
  --container-pad-md: 16px;
  --container-pad-sm: 16px;
  --container-pad-xs: 12px;

  --section-gap-desktop: 84px;
  --section-gap-tablet: 64px;
  --section-gap-mobile: 48px;

  --title-size-xl: 30px;
  --title-size-lg: 28px;
  --title-size-md: 24px;
  --title-size-sm: 22px;

  --nav-mobile-height: 52px;
  --nav-mobile-drawer-max-h: calc(100vh - 52px);
  --nav-z-menu: 2200;

  --motion-duration-base: 520ms;
  --motion-duration-fast: 240ms;
  --motion-ease-standard: cubic-bezier(0.22, 0.61, 0.36, 1);
  --motion-reveal-y: 18px;
  --motion-reveal-y-mobile: 10px;
  --motion-reveal-blur: 0.6px;
  --motion-image-shift: 8px;
  --motion-parallax-max: 22px;

  --hover-duration-base: 220ms;
  --hover-duration-slow: 320ms;
  --hover-ease-standard: cubic-bezier(0.22, 0.61, 0.36, 1);
  --hover-underline-thickness: 1px;
  --hover-lift-y: -2px;
  --hover-image-scale: 1.028;
  --hover-image-brightness: 1.035;
  --hover-image-contrast: 1.04;
  --hover-shadow-soft: 0 10px 24px rgba(0, 0, 0, 0.08);
}
