/* Shared ReadLens palette. The theme script sets data-theme before styles load. */
:root {
  color-scheme: light;
  --ink: #171923;
  --grey: #616570;
  --light: #898d96;
  --hair: #e5e7eb;
  --hair-soft: #f3f4f6;
  --violet: #5850b5;
  --violet-soft: #cbc5eb;
  --violet-wash: #efedf8;
  --paper: #ffffff;
  --white: #ffffff;
  --surface-raised: #ffffff;
  --surface-muted: #f8fafc;
  --button-ink: #ffffff;
  --select: #dedbf7;
  --mark: #f0e8c7;
  --mark-active: #e9dca7;
  --mark-text: #6d5724;
  --serif: 'Iowan Old Style', 'Palatino Linotype', Palatino, Georgia, 'Times New Roman', serif;
  --sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif;
  --mono: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace;
  --measure: 65ch;
  --shadow-sm: 0 2px 5px rgba(32,35,43,.04);
  --shadow-md: 0 4px 14px rgba(32,35,43,.05), 0 14px 40px rgba(32,35,43,.04);
  --shadow-lg: 0 8px 24px rgba(32,35,43,.05), 0 28px 70px rgba(32,35,43,.07);
  --radius: 9px;
  --radius-sm: 5px;
  --radius-lg: 16px;
  --header-h: 76px;
}
:root[data-theme='dark'] {
  color-scheme: dark;
  --ink: #f1efe9;
  --grey: #afb0b9;
  --light: #8d8f9c;
  --hair: #373943;
  --hair-soft: #262830;
  --violet: #b9afff;
  --violet-soft: #585079;
  --violet-wash: #2c293e;
  --paper: #181a20;
  --white: #22242c;
  --surface-raised: #22242c;
  --surface-muted: #202229;
  --button-ink: #181a20;
  --select: #514875;
  --mark: #51482e;
  --mark-active: #665931;
  --mark-text: #e6d090;
  --shadow-sm: 0 2px 5px rgba(0,0,0,.10);
  --shadow-md: 0 8px 30px rgba(0,0,0,.14);
  --shadow-lg: 0 20px 65px rgba(0,0,0,.22);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--sans); color: var(--ink); background: var(--paper); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
::selection { color: var(--ink); background: var(--select); }
a { color: inherit; }
img, svg { max-width: 100%; }
button, input, textarea, select { font: inherit; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--violet); outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
