/* Global reset, typography and base elements. */
* { box-sizing:border-box; }
body { margin:0; font-family:"Vazirmatn", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, sans-serif; background:radial-gradient(circle at top left, rgba(102,88,246,.13), transparent 34%), radial-gradient(circle at 82% 12%, rgba(8,145,178,.10), transparent 26%), linear-gradient(135deg,#fbfcff 0%,#f4f7fb 100%); color:var(--text); min-height:100vh; }
a { color:inherit; text-decoration:none; }
button, input, select, textarea, dialog, table { font-family:inherit; }
h1 { margin:0; font-size:30px; letter-spacing:-.03em; line-height:1.15; }
h2 { line-height:1.25; letter-spacing:-.02em; }
.muted { color:var(--muted); }
.mini { font-size:12px; color:var(--muted); }
code { background:var(--panel2); border:1px solid var(--line); padding:2px 5px; border-radius:6px; direction:ltr; unicode-bidi:isolate; }

:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
.skip-link { position:fixed; top:10px; inset-inline-start:10px; z-index:2000; padding:10px 14px; border-radius:10px; background:#111827; color:#fff; font-weight:800; transform:translateY(-160%); transition:transform .15s ease; }
.skip-link:focus { transform:translateY(0); }
.svg-sprite { position:absolute; width:0; height:0; overflow:hidden; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .btn:hover, .stat-card:hover { transform:none; }
}
