/* Shared materials, typography and motion across the study space and login. */
:root {
  --paper: #faf8f2;
  --paper-2: #f2eee4;
  --card: #fffdf8;
  --ink: #222821;
  --ink-2: #596156;
  --ink-3: #6f756c;
  --forest: #142b22;
  --forest-2: #203c2e;
  --line: #e2d9cb;
  --line-strong: #cbbba5;
  --accent: #95606a;
  --accent-deep: #794550;
  --accent-wash: #f5eae6;
  --accent-line: #dcc0b8;
  --gold: #86672e;
  --champagne: #d7b66a;
  --gold-wash: #f3ead8;
  --green: #365c43;
  --green-wash: #e9eee5;
  --ruby: #b5233d;
  --radius: 16px;
  --radius-sm: 10px;
  --shadow-1: 0 2px 8px #142b2204;
  --shadow-2: 0 12px 36px -18px #142b222b;
  --shadow-3: 0 24px 60px -32px #142b2238;
  --font-display: 'Playfair Display', Georgia, serif;
  --font-body: 'Be Vietnam Pro', 'Segoe UI', sans-serif;
  --font-script: 'Dancing Script', cursive;
  --font-mono: ui-monospace, 'Cascadia Mono', monospace;
  --motion-fast: 160ms;
  --motion-ui: 260ms;
  --motion-reveal: 600ms;
  --ease-out: cubic-bezier(.22, 1, .36, 1);
  --night: #142b22;
  --cream: #faf8f2;
  --lime: #d7b66a;
  --body-font: var(--font-body);
  --display-font: var(--font-display);
}
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
button, input, select { font: inherit; }
button, a, input { -webkit-tap-highlight-color: transparent; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
