:root {
  --paper:#f6f7fb; --ink:#15192a; --muted:#515970; --line:#dfe3ee;
  --blue:#2344d7; --deep:#142da8; --lime:#dbfa87; --white:#fff;
  --mono:ui-monospace, SFMono-Regular, Menlo, monospace;
  font-family: "Avenir Next", Avenir, system-ui, sans-serif;
  color:var(--ink); background:var(--paper); -webkit-font-smoothing:antialiased;
}
*,*::before,*::after { box-sizing:border-box; }
body { margin:0; }
h1,h2,h3,p { margin:0; }
h1,h2,h3 { text-wrap:balance; }
p { text-wrap:pretty; }
a { color:inherit; text-decoration:none; }
button { font:inherit; cursor:pointer; }
:focus-visible { outline:3px solid #5272ff; outline-offset:4px; }
[aria-current=page] { font-weight:700; }
.wrap { max-width:1320px; width:calc(100% - 112px); margin-inline:auto; }
.skip { position:fixed; top:12px; left:12px; z-index:3; padding:12px; background:white; border-radius:8px; transform:translateY(-200%); }
.skip:focus { transform:none; }
.site-header { border-bottom:1px solid var(--line); }
.header-inner { min-height:84px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px; }
.brand { display:inline-flex; justify-self:start; align-items:center; gap:9px; font-size:29px; font-weight:800; letter-spacing:-.09em; line-height:1; width:fit-content; }
.brand-mark { display:block; width:40px; height:40px; flex:none; object-fit:contain; }
.footer-top .brand-mark { width:36px; height:36px; }
.brand-dot { color:var(--blue); margin-left:-7px; }
.header-inner nav { display:flex; gap:12px; }
.header-inner nav a { display:flex; align-items:center; min-height:44px; padding:0 15px; font-size:14px; border-radius:9px; color:var(--muted); }
.header-inner nav a:hover,.header-inner nav a[aria-current=page] { color:var(--blue); background:#e9edff; }
.button { min-height:48px; display:inline-flex; justify-content:center; align-items:center; gap:9px; font-size:14px; font-weight:750; border-radius:10px; padding:10px 16px; width:fit-content; transition:background-color .18s,color .18s,transform .18s,border-color .18s; }
.button:active { transform:scale(.98); }
.button svg,.text-link svg { width:18px; height:18px; }
.header-cta { justify-self:end; border:1px solid #cbd1e2; }
.header-cta:hover { border-color:var(--blue); color:var(--blue); }
.hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.07fr); gap:clamp(28px,4vw,68px); align-items:center; padding-block:46px 48px; }
.eyebrow,.tiny-label,.showcase-meta,.showcase-footer { font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:.075em; }
.eyebrow { display:flex; align-items:center; gap:9px; color:var(--blue); }
.eyebrow>span { width:8px; height:8px; border-radius:50%; background:currentColor; flex:none; }
.hero h1 { margin-top:22px; font-size:clamp(50px,5.45vw,84px); line-height:.99; letter-spacing:-.081em; font-weight:800; text-wrap:initial; }
.hero h1 em { color:var(--blue); font-style:normal; }
.hero-copy>p { max-width:29rem; margin-top:24px; color:var(--muted); font-size:clamp(17px,1.45vw,21px); line-height:1.6; }
.hero-actions { margin-top:28px; display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.primary { background:var(--blue); color:white; box-shadow:0 4px 10px #2344d728; }
.primary:hover { background:var(--deep); }
.text-link { display:inline-flex; min-height:44px; align-items:center; gap:7px; font-size:14px; font-weight:700; }
.text-link:hover { color:var(--blue); }
.hero-note { display:flex; flex-wrap:wrap; gap:9px; align-items:center; font-size:12px; color:var(--muted); margin-top:22px; }
.hero-note svg { width:15px; height:15px; color:var(--blue); }
.hero-note span { width:3px; height:3px; border-radius:50%; background:#8189a0; }
.showcase {
  position:relative; overflow:hidden; isolation:isolate; border-radius:24px; padding:20px 24px 18px;
  background:radial-gradient(ellipse at 105% -25%, #6781ff, transparent 62%),linear-gradient(145deg,#294beb,#162ea9 92%); color:white;
}
.showcase::before { content:""; position:absolute; z-index:-1; inset:0; background-image:linear-gradient(#ffffff16 1px,transparent 1px),linear-gradient(90deg,#ffffff16 1px,transparent 1px); background-size:30px 30px; mask-image:linear-gradient(150deg,black,transparent 85%); }
.showcase-meta,.showcase-footer { display:flex; justify-content:space-between; gap:10px; align-items:center; font-size:10px; letter-spacing:.09em; }
.showcase-meta span:first-child { display:flex; gap:7px; align-items:center; }
.showcase-meta i { width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px #dbfa8740; }
.showcase-footer { color:#e4eaff; }
.market { margin:16px 0; padding:20px; background:#fcfdff; color:var(--ink); border-radius:17px; box-shadow:0 18px 46px #0b18595a; }
.market-header,.chart-head,.chart-axis,.rate,.feature-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.tiny-label { color:#566483; font-size:10px; }
.market h2 { font-size:25px; letter-spacing:-.05em; margin-top:2px; line-height:1.2; }
.preview-note { margin-top:5px; color:var(--muted); font-size:12px; line-height:1.45; }
.currency-tag { background:#e8eeff; border-radius:6px; color:#2443b8; font:700 11px var(--mono); padding:6px 9px; }
.filters { display:flex; align-items:center; gap:4px; margin-top:15px; padding:4px; background:#eef0f7; border-radius:9px; width:fit-content; max-width:100%; }
.filters button { min-height:40px; border:0; border-radius:6px; background:transparent; padding:4px 12px; color:#4d5670; font-size:12px; font-weight:700; }
.filters button:hover { color:var(--blue); }
.filters button[aria-pressed=true] { background:white; color:var(--blue); box-shadow:0 1px 4px #26315820; }
.chart { margin:15px 0 5px; padding:12px 12px 8px; border:1px solid #e4e8f2; border-radius:11px; background:#f8faff; }
.chart-head { align-items:flex-end; }
.chart-head span:first-child { font-size:12px; color:var(--muted); display:block; }
.chart-head strong { font-size:clamp(19px,2.7vw,33px); font-weight:800; font-variant-numeric:tabular-nums; line-height:1.15; letter-spacing:-.055em; }
.change { white-space:nowrap; font:700 11px var(--mono); color:#205432; background:#e1f7d9; padding:5px 7px; border-radius:5px; }
.change.down { color:#9a3141; background:#fce8ec; }
.chart-svg { width:100%; height:86px; display:block; margin-top:7px; }
.chart-grid { stroke:#dbe2f1; stroke-width:1; stroke-dasharray:4 4; }
.chart-axis { font-size:10px; color:#5e6881; }
.market-rows { display:grid; }
.rate { padding:9px 0 7px; font-size:13px; font-weight:700; justify-content:flex-start; min-width:0; }
.rate + .rate { border-top:1px solid #e8ebf3; }
.rate .symbol { display:grid; place-items:center; border-radius:9px; color:#2041bb; background:#e8edff; font-size:16px; width:32px; height:32px; flex:none; }
.rate .symbol.tone { color:#6b4a08; background:#fff1d3; }
.rate small { display:block; color:#63708a; font-size:10px; font-weight:500; margin-top:1px; }
.rate strong { margin-left:auto; font-variant-numeric:tabular-nums; font-size:13px; white-space:nowrap; }
.features-section { padding:40px 0 56px; border-top:1px solid var(--line); }
.section-intro h2,.download h2 { font-size:clamp(34px,4.2vw,55px); line-height:1.05; letter-spacing:-.07em; margin-top:11px; }
.features { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:24px; }
.feature { padding:20px; border-radius:15px; border:1px solid var(--line); background:#ffffffa6; }
.feature-top { color:#68748f; font:700 11px var(--mono); }
.feature-icon { display:grid; place-items:center; width:40px; height:40px; border-radius:9px; background:#e9edff; color:var(--blue); }
.feature-icon svg { width:21px; height:21px; }
.feature h3 { margin-top:18px; font-size:22px; letter-spacing:-.04em; }
.feature p { margin-top:5px; font-size:15px; color:var(--muted); line-height:1.55; }
.download-wrap { padding-bottom:56px; }
.download { padding:clamp(24px,4.5vw,64px); background:#e7efce; border-radius:20px; display:flex; justify-content:space-between; align-items:end; gap:24px; }
.download .eyebrow { color:#365327; }
.download p { margin-top:10px; color:#3d5135; line-height:1.55; }
.download-button { background:var(--ink); color:white; flex:none; }
.download-button:hover { background:var(--blue); }
.site-footer { border-top:1px solid var(--line); }
.footer-top { display:flex; justify-content:space-between; gap:24px; padding-block:28px; }
.footer-top p { font-size:14px; color:var(--muted); margin-top:10px; }
.footer-links { display:flex; gap:16px; flex-wrap:wrap; }
.footer-links a,.footer-bottom a { min-height:44px; display:flex; align-items:center; gap:4px; font-size:14px; }
.footer-links svg,.legal-other svg { width:15px; height:15px; }
.footer-links a:hover,.footer-bottom a:hover,.legal-nav a:hover { color:var(--blue); }
.footer-bottom { border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; font-size:13px; color:var(--muted); }
.legal { max-width:1160px; padding-block:22px 56px; }
.breadcrumbs { display:flex; gap:10px; align-items:center; color:var(--muted); font-size:13px; min-height:44px; }
.breadcrumbs a { color:var(--blue); }
.legal-hero { background:radial-gradient(circle at 95% -25%,#6481ff,transparent 55%),#1939c8; color:white; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:clamp(24px,4.8vw,62px); border-radius:20px; margin-top:8px; }
.legal-hero h1 { font-size:clamp(42px,6vw,77px); letter-spacing:-.075em; line-height:1; margin-top:10px; }
.legal-hero .eyebrow { color:var(--lime); }
.legal-hero p { margin-top:13px; color:#eef1ff; line-height:1.55; font-size:17px; max-width:33rem; }
.legal-icon { display:grid; place-items:center; flex:none; width:92px; height:92px; color:var(--lime); border:1px solid #ffffff55; background:#ffffff12; border-radius:19px; transform:rotate(-6deg); }
.legal-icon svg { width:43px; height:43px; stroke-width:1.45; }
.reading-grid { display:grid; grid-template-columns:218px minmax(0,1fr); align-items:start; gap:20px; margin-top:20px; }
.legal-nav,.reading { background:white; border:1px solid var(--line); border-radius:15px; }
.legal-nav { position:sticky; top:20px; padding:19px; }
.legal-nav nav { margin-top:6px; display:grid; }
.legal-nav a { min-height:44px; display:flex; align-items:center; gap:6px; line-height:1.3; font-size:14px; font-weight:650; }
.legal-other { border-top:1px solid var(--line); padding-top:12px; margin-top:9px; }
.reading { padding:clamp(21px,4vw,48px); color:#424b60; font-size:16px; line-height:1.75; overflow-wrap:anywhere; }
.reading h2,.reading h3 { color:var(--ink); line-height:1.25; letter-spacing:-.035em; scroll-margin-top:20px; }
.reading h2 { font-size:clamp(21px,2.5vw,29px); margin:26px 0 8px; }
.reading h3 { font-size:19px; margin:16px 0 8px; }
.reading h2:first-child { margin-top:0; }
.reading p+p { margin-top:10px; }
.reading a { color:#1839c3; text-decoration:underline; text-underline-offset:3px; }
.vendors { border:1px solid var(--line); border-radius:9px; padding:0 12px; margin:14px 0; }
.vendors summary { padding-block:10px; cursor:pointer; color:var(--blue); font-weight:700; }
.third-party { padding-left:23px; columns:2; gap:22px; }
.third-party li { break-inside:avoid; font-size:14px; }
.contact-card { margin-top:26px; display:flex; gap:12px; padding:14px; background:#eef2ff; border-radius:10px; align-items:center; }
.contact-card svg { flex:none; color:var(--blue); }
.contact-card h2 { font-size:17px; margin:0; }
@media(max-width:1000px) {
  .wrap { width:calc(100% - 64px); }
  .hero { gap:24px; }
  .hero h1 { font-size:clamp(42px,6vw,68px); }
  .showcase { padding-inline:16px; }
}
@media(max-width:760px) {
  .wrap { width:calc(100% - 36px); }
  .header-inner { grid-template-columns:1fr auto; min-height:0; padding-block:12px 6px; gap:6px 12px; }
  .header-inner nav { grid-column:1/-1; grid-row:2; gap:6px; }
  .header-inner nav a { padding-inline:12px; }
  .header-cta { grid-column:2; grid-row:1; min-height:44px; }
  .hero { grid-template-columns:1fr; padding-block:30px; gap:25px; }
  .hero h1 { font-size:clamp(43px,10vw,70px); margin-top:14px; }
  .hero-copy>p { margin-top:16px; }
  .hero-actions { margin-top:18px; gap:8px 14px; }
  .hero-note { margin-top:12px; }
  .features-section { padding:28px 0 36px; }
  .features { grid-template-columns:1fr; margin-top:16px; gap:10px; }
  .download { flex-direction:column; align-items:start; }
  .download-wrap { padding-bottom:36px; }
  .footer-top { flex-direction:column; gap:8px; }
  .reading-grid { grid-template-columns:1fr; gap:12px; }
  .legal-nav { position:static; }
  .legal-nav nav { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 12px; }
  .legal-icon { width:56px; height:56px; border-radius:12px; }
  .legal-icon svg { width:28px; height:28px; }
}
@media(max-width:390px) {
  .showcase { padding:14px 11px; border-radius:17px; }
  .market { padding:13px; margin:12px 0; }
  .showcase-meta,.showcase-footer { font-size:8px; }
  .market h2 { font-size:22px; }
  .rate strong { font-size:11px; }
  .legal-icon { display:none; }
  .third-party { columns:1; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none!important; scroll-behavior:auto!important; } }
@media print { .site-header,.site-footer,.legal-nav,.breadcrumbs,.skip { display:none; } .wrap { width:100%; } .reading-grid { display:block; } .reading { border:0; padding:0; } .legal-hero { background:white;color:black;padding:0; } .legal-hero .eyebrow,.legal-hero p { color:black; } }

.policy-note,.deletion-action { padding:16px; border:1px solid #dbe4ff; background:#f1f4ff; border-radius:10px; }
.deletion-action { margin-top:16px; }
.reading .deletion-action .button { color:white; text-decoration:none; }
.deletion-action p { margin-top:7px; font-size:13px; }

/* Site preferences and right-to-left reading. */
.site-controls { display:flex; justify-content:flex-end; align-items:center; gap:7px; }
.site-control { min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:9px; background:transparent; color:var(--ink); }
.site-control:hover { border-color:var(--blue); color:var(--blue); }
.language { padding-inline:12px; font-size:14px; font-weight:700; }
.theme-toggle svg { width:20px; height:20px; }
.theme-toggle[hidden],.theme-toggle .sun-icon,[data-theme=dark] .theme-toggle .moon-icon { display:none; }
[data-theme=dark] .theme-toggle .sun-icon { display:block; }
@font-face { font-family:Vazir; src:url("./fonts/Vazir-Regular.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:Vazir; src:url("./fonts/Vazir-Medium.woff2") format("woff2"); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:Vazir; src:url("./fonts/Vazir-Bold.woff2") format("woff2"); font-weight:700; font-style:normal; font-display:swap; }
html[lang="fa"], .language[lang="fa"] { font-family:Vazir, Tahoma, "Geeza Pro", system-ui, sans-serif; }
[dir=rtl] :is(h1,h2,h3,.brand,.eyebrow,.tiny-label,.showcase-meta,.showcase-footer) { letter-spacing:0; }
[dir=rtl] .brand-dot { margin-left:0; margin-inline-start:-5px; }
[dir=rtl] .hero h1 { font-size:clamp(38px,4.6vw,66px); line-height:1.24; }
[dir=rtl] .hero-copy>p,[dir=rtl] .reading { line-height:1.9; }
[dir=rtl] :is(.section-intro h2,.download h2,.legal-hero h1) { line-height:1.27; }
[dir=rtl] :is(.eyebrow,.tiny-label,.showcase-meta,.showcase-footer,.feature-top,.change) { font-family:inherit; }
[dir=rtl] .rate strong { margin-left:0; margin-inline-start:auto; }
[dir=rtl] :is(.chart-head strong,.change,.rate strong) { direction:ltr; unicode-bidi:isolate; }
[dir=rtl] .chart-axis { flex-direction:row-reverse; }
[dir=rtl] .text-link svg { transform:scaleX(-1); }
[data-theme=dark] { color-scheme:dark; --paper:#111522; --ink:#f2f4ff; --muted:#bbc5dc; --line:#343d56; --blue:#aab9ff; --deep:#283eac; --white:#1b2234; }
[data-theme=dark] :is(.market,.reading,.legal-nav,.feature) { background:#1b2234; }
[data-theme=dark] .brand-mark { border-radius:10px; outline:1px solid #ffffff30; }
[data-theme=dark] .primary { background:#3551d5; color:white; }
[data-theme=dark] .primary:hover { background:#3c56c9; }
[data-theme=dark] :is(.filters,.header-inner nav a:hover,.header-inner nav a[aria-current=page]) { background:#252f4d; }
[data-theme=dark] .filters button { color:#cbd3ec; }
[data-theme=dark] .filters button[aria-pressed=true] { color:#edf1ff; background:#37456c; }
[data-theme=dark] :is(.tiny-label,.chart-axis,.rate small,.feature-top) { color:#b2bedc; }
[data-theme=dark] .chart { background:#161c2e; border-color:var(--line); }
[data-theme=dark] .chart-grid { stroke:#34415d; }
[data-theme=dark] #chart-line { stroke:#91a8ff; }
[data-theme=dark] .rate + .rate { border-color:var(--line); }
[data-theme=dark] :is(.currency-tag,.feature-icon,.rate .symbol) { background:#2f3d66; color:#d9e2ff; }
[data-theme=dark] .rate .symbol.tone { background:#493e29; color:#ffde9b; }
[data-theme=dark] .change { color:#b3f4cb; background:#234838; }
[data-theme=dark] .change.down { color:#ffc2cc; background:#542d3b; }
[data-theme=dark] .download { background:#263a35; border:1px solid #456052; }
[data-theme=dark] :is(.download .eyebrow,.download p) { color:#ccedc8; }
[data-theme=dark] .download-button { background:#d7ebbe; color:#182318; }
[data-theme=dark] .download-button:hover { background:#e5f8cb; }
[data-theme=dark] .reading { color:#d3daec; }
[data-theme=dark] .reading a { color:var(--blue); }
[data-theme=dark] :is(.deletion-action,.contact-card,.skip) { background:#26334f; border-color:#415077; }
@media(max-width:760px) {
 .site-controls { grid-column:2; grid-row:1; }
 [dir=rtl] .hero h1 { font-size:clamp(35px,8vw,60px); }
}
