/* VajehRah — shared fonts, design tokens and base reset (used by the mini app and the admin panel) */
@font-face { font-family: 'Vazirmatn'; font-weight: 400; font-display: swap; src: url(/fonts/vazirmatn-arabic-400-normal.woff2) format('woff2'); unicode-range: U+0600-06FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE80-FEFC; }
@font-face { font-family: 'Vazirmatn'; font-weight: 500; font-display: swap; src: url(/fonts/vazirmatn-arabic-500-normal.woff2) format('woff2'); unicode-range: U+0600-06FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE80-FEFC; }
@font-face { font-family: 'Vazirmatn'; font-weight: 700; font-display: swap; src: url(/fonts/vazirmatn-arabic-700-normal.woff2) format('woff2'); unicode-range: U+0600-06FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE80-FEFC; }
@font-face { font-family: 'Vazirmatn'; font-weight: 800; font-display: swap; src: url(/fonts/vazirmatn-arabic-800-normal.woff2) format('woff2'); unicode-range: U+0600-06FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE80-FEFC; }
@font-face { font-family: 'Vazirmatn'; font-weight: 400; font-display: swap; src: url(/fonts/vazirmatn-latin-400-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Vazirmatn'; font-weight: 500; font-display: swap; src: url(/fonts/vazirmatn-latin-500-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Vazirmatn'; font-weight: 700; font-display: swap; src: url(/fonts/vazirmatn-latin-700-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Vazirmatn'; font-weight: 800; font-display: swap; src: url(/fonts/vazirmatn-latin-800-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Instrument Serif'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/instrument-serif-latin-400-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2122, U+2212; }
@font-face { font-family: 'Instrument Serif'; font-style: italic; font-weight: 400; font-display: swap; src: url(/fonts/instrument-serif-latin-400-italic.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2122, U+2212; }
@font-face { font-family: 'Source Serif 4'; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/source-serif-4-latin-400-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2122, U+2212; }
@font-face { font-family: 'Source Serif 4'; font-style: italic; font-weight: 400; font-display: swap; src: url(/fonts/source-serif-4-latin-400-italic.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2122, U+2212; }
@font-face { font-family: 'Source Serif 4'; font-style: normal; font-weight: 600; font-display: swap; src: url(/fonts/source-serif-4-latin-600-normal.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2122, U+2212; }

/* ───────────────────────── tokens ───────────────────────── */
:root {
  --font: 'Vazirmatn', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --display: 'Instrument Serif', 'Source Serif 4', Georgia, serif;
  --read: 'Source Serif 4', Georgia, 'Times New Roman', serif;

  --bg: #F3F2EE; --bg-2: #EBE9E3;
  --card: #FFFFFF; --card-2: #F6F5F1; --card-3: #EFEDE7;
  --line: rgba(19, 20, 24, .07); --line-2: rgba(19, 20, 24, .12);
  --ink: #131418; --ink-2: #565861; --ink-3: #8D9099;
  --pri: #131418; --pri-ink: #F8F6F1;
  --gold: #9C7838; --gold-2: #C9A25A; --gold-3: #E8CB8C; --gold-soft: #F3EBDB;
  --green: #2C875F; --green-soft: #E3F1E9; --red: #C5463C; --red-soft: #F8E6E3; --blue: #3B6CD4; --blue-soft: #E7EDFA;
  --noir-1: #1C1D22; --noir-2: #0D0E11; --noir-ink: #F4F1EA; --noir-ink-2: rgba(244, 241, 234, .62);
  --glass: rgba(255, 255, 255, .93);
  --emb-off-bg: #F1EFEA; --emb-off-line: rgba(19, 20, 24, .12); --emb-off-ink: #A3A5AD;
  --sh-1: 0 1px 2px rgba(19, 20, 24, .04);
  --sh-2: 0 1px 2px rgba(19, 20, 24, .04), 0 12px 32px -14px rgba(19, 20, 24, .18);
  --sh-3: 0 24px 60px -20px rgba(19, 20, 24, .35);
  --ease: cubic-bezier(.2, .8, .2, 1);
  --safe-b: env(safe-area-inset-bottom, 0px);
  --safe-t: var(--tg-content-safe-area-inset-top, 0px);
  color-scheme: light;
}
.dark {
  --bg: #0B0C0F; --bg-2: #101115;
  --card: #15161B; --card-2: #1B1C22; --card-3: #22232A;
  --line: rgba(255, 255, 255, .06); --line-2: rgba(255, 255, 255, .11);
  --ink: #F2F0EA; --ink-2: #A5A7AF; --ink-3: #6C6F78;
  --pri: #F2F0EA; --pri-ink: #0B0C0F;
  --gold: #E2C285; --gold-2: #C9A25A; --gold-3: #E8CB8C; --gold-soft: rgba(226, 194, 133, .11);
  --green: #5CC796; --green-soft: rgba(92, 199, 150, .12); --red: #F07A6E; --red-soft: rgba(240, 122, 110, .12); --blue: #86A9F5; --blue-soft: rgba(134, 169, 245, .12);
  --noir-1: #1A1B21; --noir-2: #111216;
  --glass: rgba(22, 23, 28, .92);
  --emb-off-bg: #1B1C22; --emb-off-line: rgba(255, 255, 255, .1); --emb-off-ink: #5B5E67;
  --sh-1: none;
  --sh-2: 0 20px 40px -24px rgba(0, 0, 0, .7);
  --sh-3: 0 30px 70px -20px rgba(0, 0, 0, .8);
  color-scheme: dark;
}

/* ───────────────────────── base ───────────────────────── */
* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html, body { margin: 0; padding: 0; background: var(--bg); color: var(--ink); }
body { font-family: var(--font); font-size: 15px; line-height: 1.7; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overscroll-behavior-y: none; text-rendering: optimizeLegibility; }
button { font: inherit; color: inherit; border: 0; background: none; cursor: pointer; padding: 0; text-align: inherit; }
input { font: inherit; color: inherit; }
::selection { background: var(--gold-soft); }
.i { flex: none; display: block; }
.en { direction: ltr; unicode-bidi: isolate; }
.serif { font-family: var(--display); font-weight: 400; letter-spacing: -.005em; }
.read { font-family: var(--read); }
.muted { color: var(--ink-2); }
.faint { color: var(--ink-3); }
.small { font-size: 13.5px; }
.tiny { font-size: 12px; }
.center { text-align: center; }
.row { display: flex; align-items: center; gap: 10px; }
.between { justify-content: space-between; }
.grow { flex: 1; min-width: 0; }
.stack { display: flex; flex-direction: column; gap: 10px; }
.gold-t { color: var(--gold); }
.num { font-feature-settings: 'tnum'; }
