@font-face {
  font-family: 'Manrope';
  src: url('../fonts/manrope-400.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Manrope';
  src: url('../fonts/manrope-500.woff2') format('woff2');
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Manrope';
  src: url('../fonts/manrope-600.woff2') format('woff2');
  font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Manrope';
  src: url('../fonts/manrope-700.woff2') format('woff2');
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Barlow Condensed';
  src: url('../fonts/barlowcond-500.woff2') format('woff2');
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Barlow Condensed';
  src: url('../fonts/barlowcond-600.woff2') format('woff2');
  font-weight: 600; font-style: normal; font-display: swap;
}

:root {
  --ink-950: #06110D;
  --ink-900: #091713;
  --ink-850: #0C1D18;
  --ink-800: #10241E;
  --ink-700: #183229;
  --ink-600: #26463B;

  --jade-700: #0B6B55;
  --jade-600: #0E8568;
  --jade-500: #17A987;
  --jade-400: #2AC9A5;
  --jade-300: #6BE3C6;
  --jade-100: #DDF7EF;

  --lime-500: #B8E44F;
  --lime-400: #C8F26B;
  --lime-300: #DDFFA0;

  --porcelain: #F1F4EF;
  --porcelain-deep: #E9EEE8;
  --paper: #FFFFFF;
  --mist: #F6F9F5;
  --line: #DEE6DE;
  --line-strong: #C9D6CC;
  --text: #10221C;
  --text-soft: #3A4E46;
  --muted: #71817A;
  --muted-light: #96A49D;

  --amber: #D9962F;
  --amber-soft: #FBF1DC;
  --rose: #C95555;
  --rose-soft: #FBEAEA;
  --blue: #3A79C9;
  --blue-soft: #E8F0FB;
  --violet: #7161D8;
  --violet-soft: #EEEBFC;
  --cyan: #1F8FA3;
  --cyan-soft: #E2F4F7;

  --radius-xl: 24px;
  --radius-lg: 18px;
  --radius-md: 13px;
  --radius-sm: 9px;

  --shadow-xs: 0 1px 2px rgba(8, 35, 26, .05);
  --shadow-sm: 0 2px 6px rgba(8, 35, 26, .04), 0 12px 28px -20px rgba(8, 35, 26, .35);
  --shadow-md: 0 6px 16px rgba(8, 35, 26, .06), 0 24px 48px -26px rgba(8, 35, 26, .4);
  --shadow-lg: 0 30px 70px -24px rgba(4, 24, 18, .42), 0 6px 20px rgba(4, 24, 18, .08);
  --shadow-xl: 0 48px 110px -30px rgba(3, 20, 15, .55);

  --sidebar-w: 272px;
  --topbar-h: 72px;
  --ease: cubic-bezier(.22, .8, .28, 1);
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  min-height: 100%;
}

body {
  font-family: 'Manrope', 'PingFang SC', 'Microsoft YaHei', 'Hiragino Sans GB', sans-serif;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--text);
  background: var(--porcelain);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

::selection { background: var(--lime-300); color: var(--ink-900); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}
