/* Local copies of Google Fonts (SIL Open Font License; see Fonts/vazirmatn/OFL.txt): no request leaves the site.
   font-display: optional — the font is preloaded and used when it is there at first paint (almost always, and always
   once cached); otherwise that one page stays in the system font instead of jumping when the font arrives late. */

/* arabic */
@font-face {
    font-family: "Vazirmatn";
    font-style: normal;
    font-weight: 100 900;
    font-display: optional;
    src: url("../Fonts/vazirmatn/vazirmatn-arabic.woff2") format("woff2");
    unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}

/* latin-ext */
@font-face {
    font-family: "Vazirmatn";
    font-style: normal;
    font-weight: 100 900;
    font-display: optional;
    src: url("../Fonts/vazirmatn/vazirmatn-latin-ext.woff2") format("woff2");
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
    font-family: "Vazirmatn";
    font-style: normal;
    font-weight: 100 900;
    font-display: optional;
    src: url("../Fonts/vazirmatn/vazirmatn-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* The scrollbar's room is always kept: going from a short page (no scrollbar) to a long one no longer shifts the page sideways. */
html { scrollbar-gutter: stable; }

/* Icons keep one box before and after their font arrives: on a slow connection an icon drawn first in a fallback font
   was narrower, and the text beside it moved when the real icon came. One width (like FontAwesome's fa-fw) for all. */
.fa { width: 1.2857em; flex-shrink: 0; text-align: center; }
.fa-stack, .fa-li { width: auto; }

/* the logo with the name around it: a click shows it large (wwwroot/js/logo-zoom.js) */
.logo-btn { flex: none; display: inline-grid; padding: 0; border: 0; border-radius: 50%; background: none; line-height: 0; cursor: zoom-in; transition: transform 0.2s ease; }
.logo-btn:hover { transform: scale(1.06); }
.logo-btn img { border-radius: 50%; }
dialog.logo-zoom { padding: 0; border: 0; border-radius: 50%; background: transparent; box-shadow: 0 30px 90px rgba(5, 10, 22, 0.55); cursor: zoom-out; overflow: visible; }
dialog.logo-zoom::backdrop { background: rgba(8, 14, 28, 0.62); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
dialog.logo-zoom img { display: block; width: min(360px, 82vw); height: auto; }
dialog.logo-zoom[open] { animation: logo-zoom-in 0.22s ease; }
@keyframes logo-zoom-in { from { opacity: 0; transform: scale(0.9); } }
@media (prefers-reduced-motion: reduce) { .logo-btn, dialog.logo-zoom[open] { transition: none; animation: none; } }
