/* Generated by scripts/design/build-stone-copper-tokens.mjs from design/stone-copper/tokens.json. */
:root, [data-theme="light"] {
  --neutral-0: #FFFFFF;
  --neutral-25: #F3F1EC;
  --neutral-50: #EAE7E1;
  --neutral-75: #E9E6DF;
  --neutral-100: #F0EDE7;
  --neutral-300: #D0CDC5;
  --neutral-350: #A5A197;
  --neutral-400: #B9B5AC;
  --neutral-500: #68635C;
  --neutral-550: #8F8D86;
  --neutral-600: #59564F;
  --neutral-800: #2F2F2E;
  --neutral-850: #272726;
  --neutral-900: #35332E;
  --neutral-925: #1F1F1E;
  --neutral-950: #1A1A19;
  --accent-300: #E4A283;
  --accent-500: #A66042;
  --accent-550: #9C593D;
  --accent-600: #955338;
  --accent-700: #884B33;
  --accent-800: #743E2A;
  --bg-canvas: #F3F1EC;
  --bg-sunken: #E9E6DF;
  --surface-1: #FFFFFF;
  --surface-2: #EAE7E1;
  --surface-hover: rgba(53,51,46,.045);
  --surface-selected: rgba(53,51,46,.075);
  --surface-overlay: rgba(53,51,46,.42);
  --text-primary: #35332E;
  --text-secondary: #59564F;
  --text-muted: #68635C;
  --text-disabled: #9B978E;
  --text-accent: #955338;
  --text-on-accent: #FFFFFF;
  --border-subtle: rgba(53,51,46,.10);
  --border-default: rgba(53,51,46,.16);
  --border-strong: #827B70;
  --action-primary-bg: #9C593D;
  --action-primary-bg-hover: #884B33;
  --action-primary-bg-press: #743E2A;
  --action-disabled-bg: #E9E6DF;
  --accent-tint: #F1E3D9;
  --focus-ring: #955338;
  --focus-ring-soft: rgba(156,89,61,.22);
  --status-success-fg: #1F6B4C;
  --status-success-bg: #E8F3EC;
  --status-warning-fg: #745305;
  --status-warning-bg: #F7F0DC;
  --status-error-fg: #AD3028;
  --status-error-bg: #FBECEB;
  --status-info-fg: #285B9E;
  --status-info-bg: #E8F0FB;
  --status-neutral-fg: #68635C;
  --status-neutral-bg: #E9E6DF;
  --shadow-none: none;
  --shadow-1: 0 0 0 1px rgba(41,41,36,.08),0 1px 2px rgba(41,41,36,.04);
  --shadow-composer: 0 0 0 1px rgba(41,41,36,.12),0 4px 20px rgba(41,41,36,.06);
  --shadow-menu: 0 0 0 1px rgba(41,41,36,.12),0 8px 24px rgba(41,41,36,.12);
  --shadow-sheet: 0 -8px 28px rgba(41,41,36,.12);
  --site-header-bg: #F3F1EC;
  --site-section-bg: #E9E6DF;
  --site-footer-bg: #E9E6DF;
}
[data-theme="dark"] {
  --bg-canvas: #1F1F1E;
  --bg-sunken: #1A1A19;
  --surface-1: #272726;
  --surface-2: #2F2F2E;
  --surface-hover: rgba(255,255,255,.05);
  --surface-selected: rgba(255,255,255,.09);
  --surface-overlay: rgba(0,0,0,.60);
  --text-primary: #F0EDE7;
  --text-secondary: #D0CDC5;
  --text-muted: #B9B5AC;
  --text-disabled: #8B8D82;
  --text-accent: #E4A283;
  --text-on-accent: #FFFFFF;
  --border-subtle: rgba(240,237,231,.10);
  --border-default: rgba(240,237,231,.16);
  --border-strong: #A5A197;
  --action-primary-bg: #A66042;
  --action-primary-bg-hover: #945337;
  --action-primary-bg-press: #82472F;
  --action-disabled-bg: #2F2F2E;
  --accent-tint: #44352D;
  --focus-ring: #E4A283;
  --focus-ring-soft: rgba(228,162,131,.28);
  --status-success-fg: #ACDEC3;
  --status-success-bg: #2E4635;
  --status-warning-fg: #F0D291;
  --status-warning-bg: #493F25;
  --status-error-fg: #F6B6AC;
  --status-error-bg: #503330;
  --status-info-fg: #B7D1F5;
  --status-info-bg: #304259;
  --status-neutral-fg: #D0CDC5;
  --status-neutral-bg: #2F2F2E;
  --shadow-none: none;
  --shadow-1: 0 0 0 1px rgba(243,240,232,.10);
  --shadow-composer: 0 0 0 1px rgba(243,240,232,.14),0 4px 20px rgba(0,0,0,.18);
  --shadow-menu: 0 0 0 1px rgba(243,240,232,.12),0 8px 24px rgba(0,0,0,.25);
  --shadow-sheet: 0 -8px 28px rgba(0,0,0,.30);
  --site-header-bg: #1A1A19;
  --site-section-bg: #272726;
  --site-footer-bg: #2F2F2E;
}
:root {
  --space-0: 0; /* No space. */
  --space-1: 2px; /* Scale step 1 — 2px. The spacing scale is 4px-based; components currently write these values as literal px. */
  --space-2: 4px; /* Scale step 2 — 4px, the base unit. */
  --space-3: 6px; /* Scale step 3 — 6px. */
  --space-4: 8px; /* Scale step 4 — 8px; the gap between chips in a quick-action row. */
  --space-5: 10px; /* Scale step 5 — 10px. */
  --space-6: 12px; /* Scale step 6 — 12px. */
  --space-7: 16px; /* Scale step 7 — 16px; the mobile page gutter. */
  --space-8: 20px; /* Scale step 8 — 20px. */
  --space-9: 24px; /* Scale step 9 — 24px; the desktop page gutter. */
  --space-10: 32px; /* Scale step 10 — 32px; the gap between sections on mobile. */
  --space-11: 40px; /* Scale step 11 — 40px. */
  --space-12: 48px; /* Scale step 12 — 48px; the gap between sections on desktop. */
  --space-13: 64px; /* Scale step 13 — 64px. */
  --space-14: 80px; /* Scale step 14 — 80px. */
  --gutter-mobile: 16px; /* Side padding of a page on phones. */
  --gutter-desktop: 24px; /* Side padding of a page on desktop. */
  --stack-tight: 8px; /* Gap between items in a tight vertical stack. */
  --stack: 12px; /* Default gap between items in a vertical stack. */
  --stack-loose: 20px; /* Gap between items in a loose vertical stack. */
  --section-gap: 32px; /* Space between sections on mobile — sections are separated by space and a SectionHeader, not by cards. */
  --section-gap-desktop: 48px; /* Space between sections on desktop. */
  --control-xs: 28px; /* Smallest control height (28px): the IconButton sm. */
  --control-sm: 32px; /* Small controls (32px): Button, Input and Select sm; IconButton md. */
  --control-md: 40px; /* Default desktop control height (40px): Button, Input, Select and SearchField md; IconButton lg. */
  --control-lg: 44px; /* Mobile control height (44px) and the minimum thumb target: Button, Input, Select and SearchField lg. */
  --control-xl: 52px; /* Tallest control height (52px). No component uses it yet. */
  --touch-min: 44px; /* Minimum touch target on mobile (44px): bottom-sheet rows, Checkbox, Radio and Switch rows, header buttons, product rows. */
  --icon-sm: 16px; /* Icon beside text. */
  --icon-md: 20px; /* Icon in controls and list rows. */
  --icon-lg: 24px; /* Icon in primary navigation. */
  --sidebar-w: 260px; /* Width of the desktop sidebar, always on the right (RTL). */
  --sidebar-w-collapsed: 60px; /* Width of a collapsed sidebar. No component uses it yet. */
  --content-chat: 768px; /* Maximum width of the conversation column. */
  --content-doc: 720px; /* Maximum width of a long-form reading page. */
  --content-app: 1160px; /* Maximum width of work pages. */
  --header-h-mobile: 52px; /* Height of the MobileHeader. */
  --header-h-desktop: 56px; /* Height of the desktop page header. */
  --tabbar-h: 56px; /* Height of the mobile TabBar. */
  --composer-inset: 12px; /* Side inset around the Composer on mobile. */
  --radius-xs: 6px; /* Badges and the Checkbox box. */
  --radius-sm: 8px; /* Every control: Button, Chip, IconButton, fields, SearchField, SourceRef, sidebar/menu/sheet rows, Tooltip, attachment pills. No pill-shaped buttons. */
  --radius-md: 12px; /* Containers: cards, Panel, Banner, Toast, Menu, the user message bubble, Radio rows, product rows, the SegmentedControl track. */
  --radius-lg: 16px; /* Large surfaces: the Composer and its tray, the Modal, the BottomSheet top corners, framed previews. */
  --radius-full: 999px; /* Round things only: the Switch track, avatars, dots. */
  --dur-instant: 80ms; /* Near-instant feedback. Reduced motion sets it to 0ms (bundle.css). */
  --dur-fast: 120ms; /* Colour changes on controls — hover, focus. Reduced motion sets it to 0ms (bundle.css). */
  --dur-base: 180ms; /* Menus opening and state changes. Reduced motion sets it to 0ms (bundle.css). */
  --dur-slow: 240ms; /* Slower state changes. Reduced motion sets it to 0ms (bundle.css). No component uses it yet. */
  --dur-sheet: 280ms; /* The BottomSheet sliding in, with ease-out. Reduced motion sets it to 0ms (bundle.css). */
  --ease-standard: cubic-bezier(.2,0,.2,1); /* Default easing for control and state changes. */
  --ease-out: cubic-bezier(.16,1,.3,1); /* Surfaces entering — sheets and panels. */
  --ease-in: cubic-bezier(.4,0,1,1); /* Accelerating easing, for surfaces leaving. */
  --fw-regular: 400; /* 400 — body text. */
  --fw-medium: 500; /* 500 — labels, chips, buttons, captions that need weight. */
  --fw-semibold: 600; /* 600 — every heading and the price figure. */
  --fw-bold: 700; /* 700 — the Persian wordmark only. */
  --ls-normal: 0; /* All Persian text. Persian is a joined script — never track it, not even slightly negative. */
  --ls-wordmark: 0.14em; /* Only the latin CHIDA of the wordmark (.chida-latin). */
  --z-base: 0; /* Base stacking layer. */
  --z-sticky: 10; /* Sticky headers and bars. */
  --z-tray: 20; /* Layer of the composer and its tray. */
  --z-menu: 40; /* Menus and tooltips. */
  --z-sheet: 50; /* Bottom sheets and the mobile navigation drawer. */
  --z-modal: 60; /* Modal dialogs. */
  --z-toast: 70; /* Toasts, above everything. */
  --transition-control: background-color 120ms cubic-bezier(.2,0,.2,1),color 120ms cubic-bezier(.2,0,.2,1),border-color 120ms cubic-bezier(.2,0,.2,1); /* Colour transition for interactive controls: dur-fast with ease-standard, written out because a token value cannot reference another token — change it together with dur-fast. Reduced motion turns it off (bundle.css sets it to none). */
  --transition-surface: opacity 180ms cubic-bezier(.2,0,.2,1),transform 180ms cubic-bezier(.16,1,.3,1); /* Opacity and transform for surfaces appearing: dur-base with ease-standard and ease-out, written out — change it together with dur-base. Reduced motion turns it off (bundle.css sets it to none). No component uses it yet. */
  --icon-stroke: 1.5; /* Stroke width of every Lucide glyph (the Icon component default). Thin lines, same weight as the rest of the UI. Set stroke-width="1.5" when inlining the SVG files. */
  --bp-mobile: 360px; /* Smallest supported phone — test every layout here; 390 is the design baseline. Breakpoints are reference values; CSS variables cannot be used in media queries. */
  --bp-tablet: 768px; /* Tablet breakpoint. */
  --bp-desktop: 1024px; /* Desktop breakpoint: the sidebar appears. */
  --bp-desktop-lg: 1280px; /* Large desktop — the reference width of the UI kit. */
  --font-sans: "IRANYekanX",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-mono: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --font-numeric: "IRANYekanX",system-ui,sans-serif;
  --text-type-display-desktop: 600 32px/46px var(--font-sans); /* The start-screen question on desktop. */
  --text-type-display: 600 28px/42px var(--font-sans); /* Display headings; the start question on mobile. */
  --text-type-title-xl-desktop: 600 24px/36px var(--font-sans); /* Desktop step of title-xl: page titles. */
  --text-type-title-xl: 600 22px/34px var(--font-sans); /* Page titles on mobile. */
  --text-type-title-lg: 600 18px/30px var(--font-sans); /* Dialog titles and a page's main section. */
  --text-type-title-md: 600 16px/26px var(--font-sans); /* Section titles, product names, the mobile header title. */
  --text-type-body-lg: 400 16px/28px var(--font-sans); /* Conversation: messages, assistant answers, the Composer text. */
  --text-type-body: 400 15px/26px var(--font-sans); /* Interface text and rows; the page default (bundle.css body). */
  --text-type-body-sm: 400 13px/22px var(--font-sans); /* Secondary text, progress steps, breadcrumbs. */
  --text-type-label: 500 13px/20px var(--font-sans); /* Field labels, chips, buttons, tray buttons. */
  --text-type-caption: 400 12px/18px var(--font-sans); /* Units, times, captions, badges. */
  --text-type-price: 600 18px/28px var(--font-numeric); /* The price figure, in the numeric family. */
  --text-type-price-sm: 600 15px/22px var(--font-numeric); /* A price in a dense row (PriceCell size="sm"). */
  --text-fs-display: 400 28px/42px var(--font-sans); /* Size and line-height only; type-display adds the weight. */
  --text-fs-title-xl: 400 22px/34px var(--font-sans); /* Size and line-height only; type-title-xl adds the weight. */
  --text-fs-title-lg: 400 18px/30px var(--font-sans); /* Size and line-height only; type-title-lg adds the weight. */
  --text-fs-title-md: 400 16px/26px var(--font-sans); /* Size and line-height only; type-title-md adds the weight. */
  --text-fs-body-lg: 400 16px/28px var(--font-sans); /* Size and line-height only; type-body-lg adds the weight. */
  --text-fs-body: 400 15px/26px var(--font-sans); /* Size and line-height only; type-body adds the weight. */
  --text-fs-body-sm: 400 13px/22px var(--font-sans); /* Size and line-height only; type-body-sm adds the weight. */
  --text-fs-label: 400 13px/20px var(--font-sans); /* Size and line-height only; type-label adds the weight. */
  --text-fs-caption: 400 12px/18px var(--font-sans); /* Size and line-height only; type-caption adds the weight. */
  --text-fs-price: 400 18px/28px var(--font-sans); /* Size and line-height of the price figure; type-price adds the 600 weight and the numeric family. */
  --text-fs-price-sm: 400 15px/22px var(--font-sans); /* Size and line-height of a price in a dense row; type-price-sm adds the 600 weight. */
  --text-fs-display-desktop: 400 32px/46px var(--font-sans); /* Desktop step of display; type-display-desktop adds weight and tracking. */
  --text-fs-title-xl-desktop: 400 24px/36px var(--font-sans); /* Desktop step of title-xl; type-title-xl-desktop adds the weight. */
}
.type-display-desktop {
  font-family: var(--font-sans);
  font-size: 32px;
  line-height: 46px;
  font-weight: 600;
  letter-spacing: 0;
}
.type-display {
  font-family: var(--font-sans);
  font-size: 28px;
  line-height: 42px;
  font-weight: 600;
  letter-spacing: 0;
}
.type-title-xl-desktop {
  font-family: var(--font-sans);
  font-size: 24px;
  line-height: 36px;
  font-weight: 600;
  letter-spacing: 0;
}
.type-title-xl {
  font-family: var(--font-sans);
  font-size: 22px;
  line-height: 34px;
  font-weight: 600;
  letter-spacing: 0;
}
.type-title-lg {
  font-family: var(--font-sans);
  font-size: 18px;
  line-height: 30px;
  font-weight: 600;
  letter-spacing: 0;
}
.type-title-md {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 26px;
  font-weight: 600;
  letter-spacing: 0;
}
.type-body-lg {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 28px;
  font-weight: 400;
  letter-spacing: 0;
}
.type-body {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 26px;
  font-weight: 400;
  letter-spacing: 0;
}
.type-body-sm {
  font-family: var(--font-sans);
  font-size: 13px;
  line-height: 22px;
  font-weight: 400;
  letter-spacing: 0;
}
.type-label {
  font-family: var(--font-sans);
  font-size: 13px;
  line-height: 20px;
  font-weight: 500;
  letter-spacing: 0;
}
.type-caption {
  font-family: var(--font-sans);
  font-size: 12px;
  line-height: 18px;
  font-weight: 400;
  letter-spacing: 0;
}
.type-price {
  font-family: var(--font-numeric);
  font-size: 18px;
  line-height: 28px;
  font-weight: 600;
  letter-spacing: 0;
}
.type-price-sm {
  font-family: var(--font-numeric);
  font-size: 15px;
  line-height: 22px;
  font-weight: 600;
  letter-spacing: 0;
}
.fs-display {
  font-family: var(--font-sans);
  font-size: 28px;
  line-height: 42px;
  font-weight: 400;
  letter-spacing: 0;
}
.fs-title-xl {
  font-family: var(--font-sans);
  font-size: 22px;
  line-height: 34px;
  font-weight: 400;
  letter-spacing: 0;
}
.fs-title-lg {
  font-family: var(--font-sans);
  font-size: 18px;
  line-height: 30px;
  font-weight: 400;
  letter-spacing: 0;
}
.fs-title-md {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 26px;
  font-weight: 400;
  letter-spacing: 0;
}
.fs-body-lg {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 28px;
  font-weight: 400;
  letter-spacing: 0;
}
.fs-body {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 26px;
  font-weight: 400;
  letter-spacing: 0;
}
.fs-body-sm {
  font-family: var(--font-sans);
  font-size: 13px;
  line-height: 22px;
  font-weight: 400;
  letter-spacing: 0;
}
.fs-label {
  font-family: var(--font-sans);
  font-size: 13px;
  line-height: 20px;
  font-weight: 400;
  letter-spacing: 0;
}
.fs-caption {
  font-family: var(--font-sans);
  font-size: 12px;
  line-height: 18px;
  font-weight: 400;
  letter-spacing: 0;
}
.fs-price {
  font-family: var(--font-sans);
  font-size: 18px;
  line-height: 28px;
  font-weight: 400;
  letter-spacing: 0;
}
.fs-price-sm {
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 22px;
  font-weight: 400;
  letter-spacing: 0;
}
.fs-display-desktop {
  font-family: var(--font-sans);
  font-size: 32px;
  line-height: 46px;
  font-weight: 400;
  letter-spacing: 0;
}
.fs-title-xl-desktop {
  font-family: var(--font-sans);
  font-size: 24px;
  line-height: 36px;
  font-weight: 400;
  letter-spacing: 0;
}
@font-face {
  font-family: "IRANYekanX";
  src: url("/assets/IRANYekanXVF.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
