/* Облегчённый фикх — архив канала */

/* ---------- шрифты (web/fonts.py) ---------- */
/* Те же файлы, что у Google Fonts, но со своего сервера: без лишних соединений и чужого CSS
   на пути к первой отрисовке. Лицензия — SIL OFL 1.1 (assets/fonts/OFL-*.txt). */
@font-face { font-family: "Amiri"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("fonts/amiri-arabic.woff2") format("woff2");
  unicode-range: U+0020, U+00A0, 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; }
@font-face { font-family: "Golos Text"; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url("fonts/golos-cyrillic-ext.woff2") format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: "Golos Text"; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url("fonts/golos-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Golos Text"; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url("fonts/golos-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; }
@font-face { font-family: "Golos Text"; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url("fonts/golos-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; }
@font-face { font-family: "PT Serif"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("fonts/ptserif-400-cyrillic-ext.woff2") format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: "PT Serif"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("fonts/ptserif-400-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "PT Serif"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("fonts/ptserif-400-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; }
@font-face { font-family: "PT Serif"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("fonts/ptserif-400-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; }
@font-face { font-family: "PT Serif"; font-style: italic; font-weight: 400; font-display: swap;
  src: url("fonts/ptserif-400i-cyrillic-ext.woff2") format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: "PT Serif"; font-style: italic; font-weight: 400; font-display: swap;
  src: url("fonts/ptserif-400i-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "PT Serif"; font-style: italic; font-weight: 400; font-display: swap;
  src: url("fonts/ptserif-400i-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; }
@font-face { font-family: "PT Serif"; font-style: italic; font-weight: 400; font-display: swap;
  src: url("fonts/ptserif-400i-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; }
@font-face { font-family: "PT Serif"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("fonts/ptserif-700-cyrillic-ext.woff2") format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: "PT Serif"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("fonts/ptserif-700-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "PT Serif"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("fonts/ptserif-700-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; }
@font-face { font-family: "PT Serif"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("fonts/ptserif-700-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; }
/* «С именем Аллаха…» на заставке — контур надписи шрифтом Amiri (размер в единицах шрифта: em = 1000) */
:root { --bism-w: 6891; --bism-h: 1954;
  --bism-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='66 -1176 6891 1954'%3E%3Cpath d='M362 576Q387 561 380 586L370 618Q367 631 348 642L154 754Q145 759 140 757Q136 754 136 745V728Q136 720 154 705ZM175 -6Q198 -70 209 -78Q222 -87 286 -64Q353 -40 411 4Q429 17 421 40Q414 63 409 76Q404 89 403 91Q395 109 384 108Q277 94 194 117Q144 130 121 155Q120 158 122 174Q124 191 129 221L151 363Q158 404 162 434Q167 465 168 484Q174 567 157 621Q152 633 143 632Q130 631 133 605Q139 541 93 306Q78 219 96 160Q105 131 116 108Q127 86 140 71Q154 56 172 44Q189 32 209 22Q208 21 205 20Q202 19 197 18Q193 16 188 14Q184 13 179 11Q170 7 175 -6ZM438 -188Q473 -188 519 -125Q543 -93 561 -90Q617 -80 582 -12Q576 0 561 0Q511 0 472 -64Q440 -118 373 -107Q340 -102 310 -89Q279 -76 253 -55Q228 -36 213 -51Q197 -67 204 -76Q211 -86 249 -110Q371 -188 438 -188ZM465 226Q467 223 473 224Q493 231 510 241Q528 251 544 265Q548 269 545 274L497 350Q495 353 488 348Q485 345 471 336Q457 328 431 313L393 372Q390 377 383 371Q379 368 362 357Q345 346 313 327Q309 324 312 321L361 248Q363 245 369 246Q386 251 401 260Q416 268 429 279ZM951 317Q976 302 969 327L959 359Q956 372 937 383L743 495Q734 500 729 498Q725 495 725 486V469Q725 461 743 446ZM566 -218Q574 -250 606 -281Q640 -313 677 -313Q715 -313 851 -256Q876 -246 908 -238Q940 -229 978 -221Q1055 -206 1136 -212Q1158 -213 1149 -194L1121 -133Q1115 -121 1100 -124Q987 -143 886 -113Q762 -72 688 -36Q616 0 560 0Q554 0 550 -10Q539 -40 545 -65Q551 -88 560 -90Q632 -95 698 -114Q764 -132 825 -163Q693 -239 582 -204Q574 -201 569 -206Q565 -211 566 -218ZM1206 -1074 1386 -1154Q1404 -1161 1402 -1146L1398 -1112Q1396 -1101 1389 -1098L1213 -1037Q1191 -1030 1194 -1048L1196 -1062Q1197 -1070 1206 -1074ZM1380 -983Q1383 -1006 1395 -1004Q1410 -1002 1409 -983Q1406 -931 1389 -894Q1369 -851 1333 -848Q1310 -847 1289 -872Q1282 -859 1272 -850Q1262 -841 1251 -835Q1226 -822 1202 -832Q1144 -856 1189 -972Q1194 -983 1201 -985Q1205 -986 1210 -984Q1221 -979 1217 -962Q1200 -903 1231 -899Q1269 -895 1291 -980Q1296 -997 1307 -994Q1320 -991 1317 -979Q1311 -944 1324 -933Q1331 -928 1341 -928Q1374 -928 1380 -983ZM1497 -211Q1514 -190 1521 -150Q1528 -111 1525 -69Q1522 -30 1495 35Q1458 125 1380 172Q1341 196 1295 199Q1248 202 1138 132Q1131 127 1132 120Q1133 113 1144 116Q1285 164 1404 64Q1462 15 1494 -52Q1499 -62 1496 -77Q1493 -94 1460 -125Q1456 -129 1459 -138L1483 -209Q1485 -215 1489 -215Q1494 -215 1497 -211ZM1576 -773Q1581 -773 1584 -765Q1587 -756 1606 -734Q1616 -723 1625 -714Q1634 -704 1643 -697Q1654 -688 1642 -669L1616 -630Q1618 -606 1626 -558Q1633 -510 1643 -436Q1654 -363 1658 -312Q1662 -261 1660 -232Q1652 -112 1569 -88Q1557 -84 1546 -83Q1536 -82 1527 -83Q1499 -86 1486 -134Q1473 -182 1482 -209Q1484 -215 1488 -215Q1493 -215 1496 -211Q1520 -191 1559 -192Q1600 -194 1624 -212Q1627 -246 1587 -490L1567 -611Q1562 -644 1555 -670Q1551 -684 1550 -694Q1548 -703 1547 -707Q1545 -718 1549 -725L1569 -768Q1572 -773 1576 -773ZM1812 -670Q1833 -719 1839 -672L1862 -427Q1900 -96 1853 -7Q1846 5 1842 -1Q1838 -6 1838 -18Q1840 -102 1826 -207Q1826 -211 1805 -397L1783 -578Q1781 -598 1787 -612ZM2642 381Q2667 366 2660 391L2650 423Q2647 436 2628 447L2434 559Q2425 564 2420 562Q2416 559 2416 550V533Q2416 525 2434 510ZM2759 -148Q2765 -162 2775 -152Q2780 -147 2788 -136Q2796 -125 2806 -109Q2818 -90 2847 -90Q2868 -90 2871 -69Q2874 -50 2864 -24Q2855 0 2847 0H2816Q2810 117 2745 216Q2670 330 2491 336Q2401 339 2346 286Q2292 233 2296 157Q2298 119 2318 68Q2337 16 2372 -49Q2375 -55 2380 -55Q2387 -55 2390 -51Q2394 -46 2389 -38Q2340 57 2343 93Q2350 226 2503 228Q2669 229 2754 137Q2771 16 2735 -64Q2729 -78 2730 -81ZM2548 -371Q2550 -374 2556 -373Q2596 -359 2627 -331Q2631 -327 2628 -323L2581 -247Q2578 -242 2571 -248Q2567 -251 2550 -262Q2533 -273 2501 -292Q2496 -295 2499 -298ZM3028 -1021Q3053 -1036 3046 -1011L3036 -979Q3033 -966 3014 -955L2820 -843Q2811 -838 2806 -840Q2802 -843 2802 -852V-869Q2802 -877 2820 -892ZM2954 -175Q2971 -209 2995 -227Q3000 -230 3008 -232Q3017 -234 3030 -235Q3085 -242 3120 -198Q3162 -145 3155 -112Q3146 -72 3126 -45Q3122 -39 3118 -39Q3024 -45 2941 -99Q2896 0 2847 0Q2833 0 2827 -22Q2808 -90 2847 -90Q2900 -90 2929 -122Q2933 -131 2939 -144Q2945 -158 2954 -175ZM3067 -168Q3009 -204 2985 -168Q3052 -130 3109 -125Q3100 -147 3067 -168ZM3248 -984Q3288 -1057 3351 -1009Q3392 -977 3395 -934Q3398 -880 3362 -854Q3335 -836 3297 -839Q3217 -845 3232 -939Q3234 -952 3238 -963Q3243 -974 3248 -984ZM3354 -909Q3383 -917 3353 -947Q3331 -969 3300 -969Q3263 -970 3261 -937Q3261 -915 3277 -909Q3312 -897 3354 -909ZM3121 -416Q3155 -416 3186 -398Q3203 -389 3220 -378Q3237 -368 3255 -355Q3357 -285 3507 -258Q3516 -257 3514 -249Q3510 -226 3487 -190Q3482 -182 3473 -185Q3357 -222 3281 -229Q3200 -238 3132 -223Q3055 -206 3010 -215Q2990 -219 2998 -226Q3058 -274 3216 -277Q3124 -357 3008 -333Q3003 -332 3001 -338Q2999 -344 3004 -349Q3056 -416 3121 -416ZM3568 -1074 3748 -1154Q3766 -1161 3764 -1146L3760 -1112Q3758 -1101 3751 -1098L3575 -1037Q3553 -1030 3556 -1048L3558 -1062Q3559 -1070 3568 -1074ZM3742 -983Q3745 -1006 3757 -1004Q3772 -1002 3771 -983Q3768 -931 3751 -894Q3731 -851 3695 -848Q3672 -847 3651 -872Q3644 -859 3634 -850Q3624 -841 3613 -835Q3588 -822 3564 -832Q3506 -856 3551 -972Q3556 -983 3563 -985Q3567 -986 3572 -984Q3583 -979 3579 -962Q3562 -903 3593 -899Q3631 -895 3653 -980Q3658 -997 3669 -994Q3682 -991 3679 -979Q3673 -944 3686 -933Q3693 -928 3703 -928Q3736 -928 3742 -983ZM3859 -211Q3876 -190 3883 -150Q3890 -111 3887 -69Q3884 -30 3857 35Q3820 125 3742 172Q3703 196 3657 199Q3610 202 3500 132Q3493 127 3494 120Q3495 113 3506 116Q3647 164 3766 64Q3824 15 3856 -52Q3861 -62 3858 -77Q3855 -94 3822 -125Q3818 -129 3821 -138L3845 -209Q3847 -215 3851 -215Q3856 -215 3859 -211ZM3938 -773Q3943 -773 3946 -765Q3949 -756 3968 -734Q3978 -723 3987 -714Q3996 -704 4005 -697Q4016 -688 4004 -669L3978 -630Q3980 -606 3988 -558Q3995 -510 4005 -436Q4016 -363 4020 -312Q4024 -261 4022 -232Q4014 -112 3931 -88Q3919 -84 3908 -83Q3898 -82 3889 -83Q3861 -86 3848 -134Q3835 -182 3844 -209Q3846 -215 3850 -215Q3855 -215 3858 -211Q3882 -191 3921 -192Q3962 -194 3986 -212Q3989 -246 3949 -490L3929 -611Q3924 -644 3917 -670Q3913 -684 3912 -694Q3910 -703 3909 -707Q3907 -718 3911 -725L3931 -768Q3934 -773 3938 -773ZM4174 -670Q4195 -719 4201 -672L4224 -427Q4262 -96 4215 -7Q4208 5 4204 -1Q4200 -6 4200 -18Q4202 -102 4188 -207Q4188 -211 4167 -397L4145 -578Q4143 -598 4149 -612ZM4873 136Q4898 121 4891 146L4881 178Q4878 191 4859 202L4665 314Q4656 319 4651 317Q4647 314 4647 305V288Q4647 280 4665 265ZM4955 -106Q4969 -106 4975 -80Q4981 -54 4975 -28Q4969 -2 4956 -1Q4870 8 4850 -96Q4849 -99 4849 -102Q4816 -53 4799 -50Q4711 -34 4665 -66Q4648 -78 4657 -103Q4675 -161 4725 -202Q4776 -244 4832 -257L4830 -306Q4830 -314 4847 -350Q4856 -367 4861 -378Q4866 -388 4867 -390Q4878 -408 4880 -377Q4880 -371 4880 -353Q4881 -335 4882 -304Q4883 -273 4884 -244Q4886 -216 4889 -188Q4895 -133 4921 -115Q4933 -106 4955 -106ZM4834 -209Q4824 -207 4810 -202Q4796 -196 4778 -187Q4742 -169 4732 -150Q4748 -138 4802 -140Q4829 -142 4840 -154Q4839 -159 4838 -173Q4836 -187 4834 -209ZM4936 -859 5116 -939Q5134 -946 5132 -931L5128 -897Q5126 -886 5119 -883L4943 -822Q4921 -815 4924 -833L4926 -847Q4927 -855 4936 -859ZM5110 -768Q5113 -791 5125 -789Q5140 -787 5139 -768Q5136 -716 5119 -679Q5099 -636 5063 -633Q5040 -632 5019 -657Q5012 -644 5002 -635Q4992 -626 4981 -620Q4956 -607 4932 -617Q4874 -641 4919 -757Q4924 -768 4931 -770Q4935 -771 4940 -769Q4951 -764 4947 -747Q4930 -688 4961 -684Q4999 -680 5021 -765Q5026 -782 5037 -779Q5050 -776 5047 -764Q5041 -729 5054 -718Q5061 -713 5071 -713Q5104 -713 5110 -768ZM5190 -115Q5208 -112 5214 -84Q5220 -56 5214 -29Q5208 -1 5199 -1Q5158 0 5128 -26Q5101 -50 5073 -103Q5058 -68 5045 -46Q5032 -25 5020 -18Q4994 -3 4957 -2Q4934 0 4922 -28Q4910 -55 4917 -80Q4925 -106 4956 -106Q5028 -106 5050 -156Q5050 -156 5048 -167Q5047 -178 5043 -200L5021 -313Q5014 -348 5010 -372Q5006 -395 5004 -408Q5001 -434 5008 -444L5037 -490Q5047 -504 5053 -478Q5055 -472 5058 -454Q5061 -435 5065 -405Q5097 -201 5121 -161Q5145 -121 5190 -115ZM5205 -477 5256 -242Q5261 -216 5264 -198Q5268 -180 5269 -169Q5270 -159 5270 -147Q5270 -135 5268 -121Q5256 -1 5198 -1Q5167 -1 5148 -43Q5128 -85 5144 -103Q5161 -122 5183 -116Q5207 -110 5224 -118Q5223 -130 5216 -162Q5210 -194 5198 -245Q5174 -345 5162 -415Q5158 -442 5189 -487Q5199 -503 5205 -477ZM5420 -670Q5441 -719 5447 -672L5470 -427Q5508 -96 5461 -7Q5454 5 5450 -1Q5446 -6 5446 -18Q5448 -102 5434 -207Q5434 -211 5413 -397L5391 -578Q5389 -598 5395 -612ZM6270 317Q6295 302 6288 327L6278 359Q6275 372 6256 383L6062 495Q6053 500 6048 498Q6044 495 6044 486V469Q6044 461 6062 446ZM6279 -188Q6314 -188 6360 -125Q6384 -93 6402 -90Q6458 -80 6423 -12Q6417 0 6402 0Q6352 0 6313 -64Q6281 -118 6214 -107Q6181 -102 6150 -89Q6120 -76 6094 -55Q6069 -36 6054 -51Q6038 -67 6045 -76Q6052 -86 6090 -110Q6212 -188 6279 -188ZM6015 -6Q6038 -70 6049 -78Q6062 -87 6126 -64Q6193 -40 6251 4Q6269 17 6261 40Q6254 63 6249 76Q6244 89 6243 91Q6235 109 6224 108Q6117 94 6034 117Q5984 130 5961 155Q5960 158 5962 174Q5964 191 5969 221L5991 363Q5998 404 6002 434Q6007 465 6008 484Q6014 567 5997 621Q5992 633 5983 632Q5970 631 5973 605Q5979 541 5933 306Q5918 219 5936 160Q5945 131 5956 108Q5967 86 5980 71Q5994 56 6012 44Q6029 32 6049 22Q6048 21 6045 20Q6042 19 6037 18Q6033 16 6028 14Q6024 13 6019 11Q6010 7 6015 -6ZM6347 -984Q6387 -1057 6450 -1009Q6491 -977 6494 -934Q6497 -880 6461 -854Q6434 -836 6396 -839Q6316 -845 6331 -939Q6333 -952 6338 -963Q6342 -974 6347 -984ZM6453 -909Q6482 -917 6452 -947Q6430 -969 6399 -969Q6362 -970 6360 -937Q6360 -915 6376 -909Q6411 -897 6453 -909ZM6698 -178Q6713 -155 6704 -116Q6700 -98 6697 -106Q6693 -117 6690 -108Q6655 -29 6630 -7Q6619 4 6605 6Q6548 12 6498 -47Q6457 -2 6405 0Q6390 0 6384 -57Q6381 -91 6405 -90Q6431 -88 6452 -90Q6472 -93 6486 -99Q6526 -118 6544 -169Q6549 -185 6558 -179Q6568 -173 6562 -160Q6547 -123 6560 -112Q6610 -73 6646 -86Q6648 -87 6652 -93Q6655 -97 6685 -176Q6686 -179 6691 -181Q6695 -182 6698 -178ZM6917 317Q6942 302 6935 327L6925 359Q6922 372 6903 383L6709 495Q6700 500 6695 498Q6691 495 6691 486V469Q6691 461 6709 446ZM6784 -430Q6873 -227 6852 -69Q6851 -58 6848 -46Q6844 -33 6839 -21Q6829 3 6811 3Q6760 3 6696 -85Q6687 -95 6684 -119Q6683 -130 6682 -140Q6682 -151 6683 -161Q6685 -181 6693 -181Q6697 -181 6702 -171Q6733 -101 6818 -74Q6824 -73 6824 -84Q6824 -180 6754 -319Q6751 -326 6755 -359Q6757 -376 6762 -394Q6766 -413 6771 -431Q6772 -436 6777 -436Q6781 -436 6784 -430ZM6825 131Q6827 128 6833 129Q6873 143 6904 171Q6908 175 6905 179L6858 255Q6855 260 6848 254Q6844 251 6827 240Q6810 229 6778 210Q6773 207 6776 204Z'/%3E%3C/svg%3E"); }
/* ---------- конец шрифтов ---------- */

:root {
  /* основная тема — тёмно-зелёная */
  color-scheme: dark;
  --bg: #202822;
  --surface: #29342c;
  --surface-2: #25302a;
  --text: #f2f0e4;
  --muted: #b5c1b5;
  --faint: #8d9a8f;
  --line: #435247;
  --accent: #a3cbb4;
  --accent-hover: #c4e2d1;
  --accent-soft: #344d3e;
  --on-accent: #163c2d;
  --brass: #d4b786;
  --mark: #6d5b2c;
  --quote-bg: #26312a;
  --note-bg: #2c3d32;
  --danger: #f0aca3;
  --radius: 14px;
  --shadow: 0 1px 2px rgb(0 0 0 / .18), 0 6px 22px rgb(0 0 0 / .16);
  --book-base: #183e30;
  --book-top: #3b6753;
  --book-ink: #e2d3aa;
  --book-page: #d2c8b0;
  --book-page-edge: #988b6b;
  --book-shadow: #00000059;
  --book-sheet: #ece4cf;
  --book-endpaper: #d9cfb5;
  --font-ui: "Golos Text", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-text: "PT Serif", "Amiri", Georgia, "Times New Roman", serif;
  --font-ar: "Amiri", "Noto Naskh Arabic", "Geeza Pro", "Arabic Typesetting", serif;
}

:root[data-theme="light"] {
  color-scheme: light;
  --bg: #f7f5ee;
  --surface: #fffdf8;
  --surface-2: #efece3;
  --text: #202d25;
  --muted: #677269;
  --faint: #8a948c;
  --line: #dfdfd3;
  --accent: #21634c;
  --accent-hover: #164a38;
  --accent-soft: #e3eadf;
  --on-accent: #fffdf7;
  --brass: #936f3e;
  --mark: #fbe39a;
  --quote-bg: #efebe1;
  --note-bg: #e6f0ea;
  --danger: #a63a2d;
  --shadow: 0 1px 2px rgb(28 36 32 / .04), 0 4px 18px rgb(28 36 32 / .05);
  --book-base: #174a39;
  --book-top: #32654e;
  --book-page: #ece5d3;
  --book-page-edge: #beb399;
  --book-shadow: #273c282d;
  --book-sheet: #fffdf5;
  --book-endpaper: #efe6cf;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 84px; }
body {
  margin: 0;
  overflow-x: clip;
  background: var(--bg);
  color: var(--text);
  font: 16px/1.6 var(--font-ui);
  -webkit-font-smoothing: antialiased;
}
a { color: var(--accent); text-decoration-thickness: 1px; text-underline-offset: .18em; }
a:hover { color: var(--accent-hover); }
img, video { max-width: 100%; height: auto; }
h1, h2, h3 { text-wrap: balance; }
.muted { color: var(--muted); }

.wrap { max-width: 1120px; margin: 0 auto; padding: 0 20px; }
.narrow { max-width: 780px; }

.skip { position: absolute; left: -9999px; }
.skip:focus { left: 12px; top: 12px; z-index: 100; background: var(--surface); padding: 8px 12px; border-radius: 8px; }

/* ---------- шапка ---------- */

.topbar {
  position: sticky; top: 0; z-index: 20;
  background: color-mix(in srgb, var(--bg) 90%, transparent);
  -webkit-backdrop-filter: saturate(1.4) blur(10px);
  backdrop-filter: saturate(1.4) blur(10px);
  border-bottom: 1px solid var(--line);
}
.topbar-in { display: flex; align-items: center; gap: 24px; min-height: 64px; }
.brand {
  display: flex; align-items: center; gap: 10px; flex: none;
  color: var(--text); text-decoration: none; font-weight: 700; font-size: 1.05rem; letter-spacing: -.01em;
}
.brand:hover { color: var(--text); }
.brand img { border-radius: 50%; display: block; }
.nav { display: flex; gap: 20px; }
.nav a { color: var(--muted); text-decoration: none; font-weight: 500; }
.nav a:hover { color: var(--text); }
.top-search { margin-left: auto; }
.top-search input, .big-search input {
  font: inherit; color: var(--text); background: var(--surface);
  border: 1px solid var(--line); border-radius: 10px;
  -webkit-appearance: none; appearance: none;
}
.top-search input { width: 240px; height: 40px; padding: 0 14px; font-size: .95rem; }
.top-search input:focus, .big-search input:focus { outline: 2px solid var(--accent); outline-offset: -1px; border-color: transparent; }

@media (max-width: 760px) {
  .topbar { position: static; }
  .topbar-in { flex-wrap: wrap; gap: 6px 16px; padding-top: 10px; padding-bottom: 12px; }
  .nav { margin-left: auto; gap: 14px; font-size: .95rem; }
  .top-search { margin-left: 0; flex-basis: 100%; }
  .top-search input { width: 100%; }
}
@media (max-width: 400px) {
  .brand span { font-size: .98rem; }
  .nav { gap: 12px; font-size: .9rem; }
}

/* ---------- главная ---------- */

.hero { padding: 56px 0 24px; text-align: center; }
.hero-logo { border-radius: 50%; display: block; margin: 0 auto 18px; box-shadow: var(--shadow); }
.hero h1 { font: 700 clamp(2.1rem, 6vw, 3.1rem)/1.08 var(--font-ui); letter-spacing: -.025em; margin: 0 0 14px; }
.lead { color: var(--muted); font-size: 1.12rem; line-height: 1.55; margin: 0 0 26px; }
.big-search { display: flex; gap: 8px; max-width: 640px; margin: 0 auto; }
.big-search input { flex: 1; min-width: 0; height: 54px; padding: 0 18px; font-size: 1.05rem; box-shadow: var(--shadow); }
.big-search button {
  height: 54px; padding: 0 24px; border: 0; border-radius: 10px; cursor: pointer;
  background: var(--accent); color: var(--on-accent); font: 600 1rem var(--font-ui);
}
.big-search button:hover { background: var(--accent-hover); }
.stats { color: var(--faint); font-size: .95rem; margin: 18px 0 0; }

.section-title { font: 700 1.45rem/1.2 var(--font-ui); letter-spacing: -.01em; margin: 52px 0 18px; }

.topic-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(255px, 1fr)); gap: 14px; }
.topic-card {
  display: grid; grid-template-columns: 1fr auto; align-content: start; gap: 8px 12px;
  padding: 18px 20px 20px; border-radius: var(--radius);
  background: var(--surface); border: 1px solid var(--line); box-shadow: var(--shadow);
  color: var(--text); text-decoration: none;
  transition: border-color .15s ease, transform .15s ease;
}
.topic-card:hover { color: var(--text); border-color: var(--accent); transform: translateY(-2px); }
.topic-name { font-weight: 700; font-size: 1.15rem; line-height: 1.3; }
.topic-count {
  align-self: start; padding: 1px 10px; border-radius: 999px;
  background: var(--accent-soft); color: var(--accent); font-weight: 600; font-size: .85rem;
  font-variant-numeric: tabular-nums;
}
.topic-desc { grid-column: 1 / -1; color: var(--muted); font-size: .92rem; line-height: 1.45; }

.post-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.post-list li {
  display: flex; justify-content: space-between; align-items: baseline; gap: 20px;
  padding: 12px 0; border-bottom: 1px solid var(--line);
}
.post-list a { color: var(--text); text-decoration: none; font-weight: 500; }
.post-list a:hover { color: var(--accent); }
.post-list .meta { flex: none; color: var(--faint); font-size: .86rem; white-space: nowrap; }
@media (max-width: 640px) {
  .post-list li { flex-direction: column; gap: 2px; }
  .post-list .meta { white-space: normal; }
}
.more { margin: 18px 0 0; font-weight: 500; }
.more a { text-decoration: none; }

/* ---------- разделы и архив ---------- */

.crumbs { display: flex; flex-wrap: wrap; gap: 4px 8px; margin: 30px 0 14px; font-size: .9rem; color: var(--faint); }
.crumbs a { color: var(--muted); text-decoration: none; }
.crumbs a:hover { color: var(--accent); }
.page-title { font: 700 clamp(1.8rem, 4.5vw, 2.5rem)/1.12 var(--font-ui); letter-spacing: -.02em; margin: 0 0 12px; }

.toc { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 8px; }
.toc a {
  display: inline-flex; align-items: center; gap: 7px; padding: 6px 13px; border-radius: 999px;
  background: var(--surface); border: 1px solid var(--line); color: var(--text);
  text-decoration: none; font-size: .9rem; line-height: 1.3;
}
.toc a:hover { border-color: var(--accent); color: var(--accent); }
.toc a span { color: var(--faint); font-size: .8rem; font-variant-numeric: tabular-nums; }

.sub h2, .month h2 { font: 700 1.22rem/1.3 var(--font-ui); margin: 40px 0 10px; }
.month h2 { color: var(--muted); font-size: 1.05rem; text-transform: none; }
.q-list { list-style: none; margin: 0; padding: 0; counter-reset: q; }
.q-list li {
  counter-increment: q; display: grid; grid-template-columns: 2.3em 1fr;
  padding: 9px 0; border-bottom: 1px dashed var(--line); line-height: 1.45;
}
.q-list li::before { content: counter(q); color: var(--faint); font-size: .85rem; padding-top: .15em; font-variant-numeric: tabular-nums; }
.q-list a { color: var(--text); text-decoration: none; }
.q-list a:hover { color: var(--accent); text-decoration: underline; }

/* ---------- пост ---------- */

.post h1 { font: 700 clamp(1.6rem, 4vw, 2.2rem)/1.2 var(--font-ui); letter-spacing: -.015em; margin: 0 0 12px; }
.post-meta { display: flex; flex-wrap: wrap; gap: 4px 10px; color: var(--faint); font-size: .92rem; margin: 0 0 30px; }
.post-meta a { color: var(--muted); }
.post-meta a:hover { color: var(--accent); }

.post-body { font: 1.15rem/1.75 var(--font-text); overflow-wrap: break-word; }
.post-body p { margin: 0 0 1.05em; }
.post-body b, .post-body strong { font-weight: 700; }
.post-body blockquote { margin: 1.2em 0; padding: .1em 0 .1em 1.1em; border-left: 3px solid var(--accent); }
.post-body blockquote p:last-child { margin-bottom: 0; }
.post-body hr, .notes hr { border: 0; border-top: 1px solid var(--line); margin: 1.6em 0; }
.post-body a { overflow-wrap: anywhere; }
.post-body code, .post-body pre { font-size: .9em; }

.hon {
  font-family: var(--font-ar); font-size: 1.02em; font-style: normal; font-weight: 400;
  color: var(--accent); white-space: nowrap; unicode-bidi: isolate; direction: rtl;
}

.photo { margin: 0 0 30px; text-align: center; }
.photo a { display: inline-block; }
.photo img { display: block; border-radius: 12px; border: 1px solid var(--line); background: var(--surface); }
.video { margin: 0 0 30px; }
.video video { display: block; width: 100%; max-height: 70vh; border-radius: 12px; background: #000; }

.link-card {
  display: flex; align-items: center; gap: 14px; margin: 1.4em 0; padding: 12px 14px;
  border: 1px solid var(--line); border-radius: 12px; background: var(--surface);
  color: var(--text); text-decoration: none;
}
.link-card:hover { border-color: var(--accent); color: var(--text); }
.link-card img { flex: none; width: 104px; height: 72px; object-fit: cover; border-radius: 8px; }
.lc-text { display: grid; gap: 2px; min-width: 0; }
.lc-site { color: var(--accent); font-size: .82rem; font-weight: 600; }
.lc-title { font-weight: 500; line-height: 1.4; overflow-wrap: anywhere; }

.notes {
  margin: 2.2em 0 0; padding: 20px 24px; border-radius: var(--radius);
  background: var(--surface-2); color: var(--muted);
  font: .95rem/1.6 var(--font-text); overflow-wrap: break-word;
}
.notes h2 {
  margin: 0 0 12px; color: var(--faint);
  font: 600 .78rem/1.2 var(--font-ui); letter-spacing: .08em; text-transform: uppercase;
}
.notes p { margin: 0 0 .55em; padding-left: 1em; text-indent: -1em; }
.notes p:last-child { margin-bottom: 0; }
.notes a { overflow-wrap: anywhere; }

.pager { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 44px 0 0; }
.pager a {
  display: block; padding: 14px 16px; border-radius: 12px;
  border: 1px solid var(--line); background: var(--surface);
  color: var(--text); text-decoration: none; font-size: .95rem; line-height: 1.4;
}
.pager a:hover { border-color: var(--accent); color: var(--text); }
.pager a span { display: block; margin-bottom: 4px; color: var(--faint); font-size: .8rem; }
.pager .next { grid-column: 2; text-align: right; }
@media (max-width: 640px) {
  .pager { grid-template-columns: 1fr; }
  .pager .next { grid-column: 1; }
}

.related { margin: 44px 0 0; padding-top: 26px; border-top: 1px solid var(--line); }
.related h2 { font: 700 1.1rem/1.3 var(--font-ui); margin: 0 0 12px; }
.related ul { list-style: none; margin: 0; padding: 0; }
.related li { padding: 6px 0 6px 14px; border-left: 2px solid var(--line); line-height: 1.45; }
.related li a { color: var(--text); text-decoration: none; }
.related li a:hover { color: var(--accent); }
.related .current { color: var(--accent); font-weight: 600; }
.related li:has(.current) { border-left-color: var(--accent); }

/* ---------- поиск ---------- */

.search-status { color: var(--muted); margin: 18px 0 4px; min-height: 1.6em; }
.results { list-style: none; margin: 0; padding: 0; }
.results a { display: block; padding: 16px 0; border-bottom: 1px solid var(--line); color: var(--text); text-decoration: none; }
.results a:hover .r-title { color: var(--accent); }
.r-title { display: block; font-weight: 600; font-size: 1.06rem; line-height: 1.4; }
.r-snippet { display: block; margin-top: 4px; color: var(--muted); font: .96rem/1.55 var(--font-text); }
.r-meta { display: block; margin-top: 6px; color: var(--faint); font-size: .82rem; }
mark { background: var(--mark); color: inherit; border-radius: 3px; padding: 0 .08em; }

.empty-page { padding: 40px 0; }

/* ---------- подвал ---------- */

.footer { margin-top: 80px; padding: 30px 0 40px; border-top: 1px solid var(--line); color: var(--muted); font-size: .92rem; }
.footer p { margin: 0 0 6px; }
.footer a { color: var(--muted); }
.footer a:hover { color: var(--accent); }

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; }
}
.page-search { margin: 0; max-width: none; }

/* ---------- случайный вопрос, закладки, фильтр поиска ---------- */

.icon { display: block; flex: none; }
.btn-ghost {
  display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 16px;
  border: 1px solid var(--line); border-radius: 10px; background: var(--surface);
  color: var(--text); text-decoration: none; font: 500 .95rem var(--font-ui); white-space: nowrap; cursor: pointer;
}
.btn-ghost:hover { border-color: var(--accent); color: var(--accent); }
.btn-ghost .icon { color: var(--accent); }
.hero-actions { display: flex; justify-content: center; margin: 22px 0 0; }

.topic-tools { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 22px; }
.inline-search { flex: 1 1 260px; }
.inline-search input {
  width: 100%; height: 44px; padding: 0 14px; font: inherit; color: var(--text);
  background: var(--surface); border: 1px solid var(--line); border-radius: 10px;
  -webkit-appearance: none; appearance: none;
}
.inline-search input:focus { outline: 2px solid var(--accent); outline-offset: -1px; border-color: transparent; }

.nav-bookmarks { display: inline-flex; align-items: center; gap: 6px; }
.nav-bookmarks .count {
  min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px;
  background: var(--accent); color: var(--on-accent);
  font-size: .75rem; font-weight: 600; line-height: 20px; text-align: center; font-variant-numeric: tabular-nums;
}
.nav-bookmarks .count[hidden] { display: none; }
@media (max-width: 760px) {
  .nav-topics, .nav-bookmarks .nav-label { display: none; }
}

.post-meta { align-items: center; }
.bookmark-btn {
  display: inline-flex; align-items: center; gap: 6px; margin-left: auto; padding: 5px 12px;
  border: 1px solid var(--line); border-radius: 999px; background: var(--surface);
  color: var(--muted); font: 500 .88rem var(--font-ui); cursor: pointer;
}
.bookmark-btn[hidden] { display: none; }
.bookmark-btn .icon { width: 16px; height: 16px; }
.bookmark-btn:hover { border-color: var(--accent); color: var(--accent); }
.bookmark-btn[aria-pressed="true"] { border-color: var(--accent); background: var(--accent-soft); color: var(--accent); }
.bookmark-btn[aria-pressed="true"] .icon { fill: currentColor; }

.post-footer {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px;
  margin: 28px 0 0; font-weight: 500;
}
.post-footer > a:first-child { text-decoration: none; }

.chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 0; }
.chips[hidden] { display: none; }
.chip {
  display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px;
  border: 1px solid var(--line); background: var(--surface); color: var(--text);
  font: 500 .88rem/1.3 var(--font-ui); cursor: pointer;
}
.chip span { color: var(--faint); font-size: .8rem; font-variant-numeric: tabular-nums; }
.chip:hover { border-color: var(--accent); }
.chip[aria-pressed="true"] { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.chip[aria-pressed="true"] span { color: inherit; opacity: .8; }

.bm-count { color: var(--muted); margin: 0 0 10px; }
.bookmarks-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.bookmarks-list li {
  display: flex; align-items: baseline; justify-content: space-between; gap: 16px;
  padding: 14px 0; border-bottom: 1px solid var(--line);
}
.bookmarks-list a { color: var(--text); text-decoration: none; font-weight: 500; line-height: 1.45; }
.bookmarks-list a:hover { color: var(--accent); }
.bm-meta { display: block; margin-top: 3px; color: var(--faint); font-size: .85rem; }
.bm-remove { flex: none; padding: 4px 0; border: 0; background: none; color: var(--faint); font: inherit; font-size: .88rem; cursor: pointer; }
.bm-remove:hover { color: var(--accent); text-decoration: underline; }
.empty-note { color: var(--muted); padding: 8px 0; }

:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* ---------- текст поста: роли строк ---------- */

.post.narrow { max-width: 740px; }  /* около 70 знаков в строке */
.post-body { font-size: 1.125rem; }
@media (min-width: 760px) { .post-body { font-size: 1.1875rem; } }

/* обычный абзац, а не flex: иначе имя, арабская формула после него и «сказал:» встают
   тремя колонками и на узком экране переносятся каждая в своей */
.post-body .say {
  position: relative; padding-inline-start: 1.9em;
  margin: 1.9em 0 .6em; color: var(--text);
  font: 600 .98rem/1.45 var(--font-ui);
}
.post-body .say::before {
  content: ""; position: absolute; inset-inline-start: 0; top: calc(.73em - 2px);
  width: 1.3em; height: 2px; border-radius: 2px; background: var(--accent);
}
.post-body > :first-child { margin-top: 0; }
.post-body blockquote.q {
  margin: 0 0 .55em; padding: .9em 1.2em;
  border-left: 3px solid var(--accent); border-radius: 0 12px 12px 0;
  background: var(--quote-bg);
}
.post-body blockquote.q p { margin: 0 0 .8em; }
.post-body blockquote.q p:last-child { margin-bottom: 0; }
.post-body .cite { margin: .5em 0 1.6em; color: var(--muted); font: .88rem/1.5 var(--font-ui); }
.post-body .note { margin: 1.5em 0; padding: .85em 1.15em; border-radius: 12px; background: var(--note-bg); }
.post-body .li, .post-body .num { margin: 0 0 .75em; padding-left: 1.4em; text-indent: -1.4em; }
.fnref { margin-left: .04em; color: var(--accent); font-weight: 700; text-decoration: none; }
.fnref:hover { text-decoration: underline; }
.notes p { scroll-margin-top: 96px; }
.notes p:target { background: var(--mark); color: var(--text); border-radius: 6px; }

/* ---------- открытие сайта: «С именем Аллаха…» ---------- */

.bismillah { display: none; }
.bism .bismillah {
  position: fixed; inset: 0; z-index: 100;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 20px;
  padding: 24px; background: var(--bg); text-align: center; cursor: pointer;
  animation: bism 3s ease forwards;
}
.bism-skip .bismillah { display: none !important; }
/* арабская строка — контур надписи (--bism-svg, блок шрифтов вверху): видна сразу и одинаково везде,
   не ждёт загрузки шрифта */
.bismillah-ar { display: none; }
@supports (mask-image: none) or (-webkit-mask-image: none) {
  .bismillah-ar {
    display: block; font-size: clamp(2.3rem, 8vw, 3.8rem);
    width: calc(var(--bism-w) * 1em / 1000); max-width: 100%; aspect-ratio: var(--bism-w) / var(--bism-h);
    margin: -.13em 0; background: var(--brass);
    -webkit-mask: var(--bism-svg) center / contain no-repeat; mask: var(--bism-svg) center / contain no-repeat;
  }
}
.bismillah-line { width: 72px; height: 1px; background: var(--brass); opacity: .5; }
.bismillah-ru { margin: 0; color: var(--muted); font: italic 400 clamp(1.05rem, 3vw, 1.3rem)/1.5 var(--font-text); }
/* фон заставки непрозрачен с первого кадра (страница под ней не мелькает), проявляется только надпись */
.bism .bismillah > * { animation: bism-in .4s ease both; }
@keyframes bism-in { from { opacity: 0; } }
@keyframes bism {
  0%, 78% { opacity: 1; }
  100% { opacity: 0; visibility: hidden; }
}
@media (prefers-reduced-motion: reduce) { .bism .bismillah { animation-duration: 2s; } }

/* ---------- шапка: поиск и тема ---------- */

.top-tools { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.top-tools .top-search { margin-left: 0; }
.theme-toggle {
  display: inline-flex; align-items: center; justify-content: center; flex: none;
  width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 10px;
  background: var(--surface); color: var(--muted); cursor: pointer;
}
.theme-toggle:hover { border-color: var(--accent); color: var(--accent); }
.theme-toggle .i-moon { display: none; }
:root[data-theme="light"] .theme-toggle .i-sun { display: none; }
:root[data-theme="light"] .theme-toggle .i-moon { display: block; }
@media (max-width: 760px) {
  .top-tools { margin-left: 0; flex-basis: 100%; }
  .top-tools .top-search { flex: 1; }
}

/* ---------- первый экран: заголовок и книга ---------- */

.hero-grid {
  display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  align-items: center; gap: 24px 48px; text-align: left;
}
.hero-grid .big-search { margin: 0; }
.hero .hero-title {
  margin: 0 0 18px; font: 400 clamp(2.7rem, 6.4vw, 3.9rem)/1.02 var(--font-text); letter-spacing: -.035em;
}
.hero-title em { display: block; color: var(--accent); font-style: italic; }
@media (max-width: 860px) {
  .hero-grid { grid-template-columns: minmax(0, 1fr); text-align: center; }
  .hero-grid .big-search { margin: 0 auto; }
}

.book-stage { position: relative; display: grid; justify-items: center; isolation: isolate; }
.book-scene {
  position: relative; width: 22em; height: 25.5em; font-size: 16px;
  perspective: 75em; touch-action: pan-y;
}
.book-scene::before {  /* мягкое свечение за книгой */
  content: ""; position: absolute; z-index: -1; left: 4%; top: 4%; width: 92%; height: 84%; border-radius: 50%;
  background: radial-gradient(ellipse, color-mix(in srgb, var(--accent-soft) 75%, transparent), transparent 70%);
}
.book-ground {
  position: absolute; left: 14%; top: 80%; width: 76%; height: 2.9em; border-radius: 50%;
  background: var(--book-shadow); filter: blur(15px); transform: rotate(-8deg);
}
.book {
  --rx: 13deg; --ry: -26deg; --lx: 35%; --ly: 22%;
  --w: 14.5em; --h: 19em; --d: 2.75em;
  position: absolute; left: 50%; top: 1.6em; width: var(--w); height: var(--h); margin-left: calc(var(--w) / -2);
  display: block; color: inherit; text-decoration: none; transform-style: preserve-3d;
  transform: rotateX(var(--rx)) rotateY(var(--ry)) rotateZ(-7deg);
  transition: transform .5s cubic-bezier(.2, .7, .3, 1), translate .8s ease;
  -webkit-tap-highlight-color: transparent;
}
.book:hover { color: inherit; }
.book:focus-visible { outline: none; }
.book:focus-visible .book-cover-front { box-shadow: 0 0 0 3px var(--accent); }
.book > * { position: absolute; display: block; }
.book-back {
  inset: 0; border-radius: 3px 9px 9px 3px; background: var(--book-base);
  transform: translateZ(calc(var(--d) / -2)); box-shadow: .5em .75em 1.1em var(--book-shadow);
}
.book-pages-side {
  left: 100%; top: .45em; width: var(--d); height: calc(var(--h) - .9em);
  transform-origin: left center; transform: translateZ(calc(var(--d) / 2 - .25em)) rotateY(90deg);
  border: 1px solid var(--book-page-edge);
  background: repeating-linear-gradient(90deg, var(--book-page) 0 1.2px, var(--book-page-edge) 1.2px 1.6px);
}
.book-pages-bottom {
  left: .45em; top: calc(var(--h) - .45em); width: calc(var(--w) - .9em); height: var(--d);
  transform-origin: center top; transform: translateZ(calc(var(--d) / 2 - .25em)) rotateX(-90deg);
  background: repeating-linear-gradient(0deg, var(--book-page) 0 1.2px, var(--book-page-edge) 1.2px 1.6px);
}
.book-page {  /* первая страница — видна, когда обложка открывается */
  inset: .35em .3em .35em .1em; border-radius: 2px 8px 8px 2px;
  transform: translateZ(calc(var(--d) / 2 - .1em));
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .8em;
  padding: 1.4em; background: var(--book-sheet); color: #2c3b33; text-align: center;
  font: 500 .95em/1.45 var(--font-ui); box-shadow: inset .7em 0 .9em -.7em rgb(0 0 0 / .3);
}
.book-page .icon { width: 1.7em; height: 1.7em; color: #21634c; }
.book-cover {
  inset: 0; transform-origin: left center; transform-style: preserve-3d;
  transform: translateZ(calc(var(--d) / 2 + .1em)) rotateY(calc(var(--peek, 0) * -1deg));
  transition: transform .9s cubic-bezier(.3, .6, .2, 1);
}
.book-cover-front, .book-cover-inner { position: absolute; inset: 0; backface-visibility: hidden; }
.book-cover-front {
  display: flex; flex-direction: column; align-items: center;
  padding: 2.2em 1.4em 1.7em 1.9em; overflow: hidden; border-radius: 4px 9px 9px 4px;
  color: var(--book-ink);
  background: radial-gradient(ellipse at var(--lx) var(--ly), var(--book-top), transparent 78%), var(--book-base);
  box-shadow: inset 2px 0 2px #061c2452, inset -1px 0 1px #ffffff24, .25em .3em .9em #0c281730;
}
.book-cover-front::before {  /* фактура переплётной ткани */
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image:
    repeating-linear-gradient(0deg, #ffffff09 0 .6px, transparent .6px 3px),
    repeating-linear-gradient(90deg, #00000008 0 .5px, transparent .5px 3px);
}
.book-cover-front::after {  /* золотая рамка */
  content: ""; position: absolute; inset: .95em .9em .95em 1.3em; pointer-events: none;
  border: 1px solid #ccb98855; border-radius: 2px 5px 5px 2px;
}
.book-hinge { position: absolute; top: 0; bottom: 0; left: .75em; width: 5px; box-shadow: -2px 0 4px #051c1860, inset 1px 0 1px #86a18345; }
.book-title {
  position: relative; z-index: 1; margin-top: 1.9em; text-align: center;
  font: italic 400 1.2em/1.25 var(--font-text); text-shadow: 0 1px 0 #082820;
}
.book-title b {
  display: block; margin: .25em -.12em 0 0; font: 700 2.45em/1.1 var(--font-text); font-style: normal; letter-spacing: .12em;
}
.book-seal { position: relative; z-index: 1; width: 4.1em; height: 4.1em; margin-top: 2.1em; color: #d9c794; opacity: .45; }
.book-rule { position: relative; z-index: 1; margin-top: auto; width: 2.9em; height: 1px; background: #ccb988; opacity: .55; }
.book-cover-inner { transform: rotateY(180deg); border-radius: 9px 4px 4px 9px; background: var(--book-endpaper); }
.book-ribbon {  /* лента-закладка: лежит между страницами, снаружи виден только хвостик снизу */
  width: .85em; height: 4.4em; top: calc(var(--h) - 1.6em); left: calc(var(--w) * .68);
  transform: translateZ(calc(var(--d) / 2 - .45em));
  background: linear-gradient(90deg, #99885b, #d9c794 48%, #b19d68);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 86%, 0 100%);
}
.book.opening { --rx: 5deg; --ry: -6deg; translate: 30% 0; }
.book-scene.is-opening .book-tab { opacity: 0; pointer-events: none; }
.book.opening .book-cover { transform: translateZ(calc(var(--d) / 2 + .1em)) rotateY(-165deg); }
/* страница под обложкой — новый вопрос, по центру страницы */
.book-page { align-items: center; justify-content: center; gap: .55em; padding: 1.6em 1.3em; text-align: center; }
.book-page-kicker { color: #8a6a3a; font: 700 .62em/1.3 var(--font-ui); letter-spacing: .14em; text-transform: uppercase; }
.book-page-title {
  display: -webkit-box; max-width: 11em; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 6;
  color: #22322a; font: 400 1.02em/1.32 var(--font-text);
}
.book-page-date { color: #6b766d; font: .7em/1.4 var(--font-ui); }
/* компьютер: при наведении обложка чуть приподнимается */
@media (hover: hover) { .book:hover:not(.opening) { --peek: 26; } }
/* телефон: книгу ведёт прокрутка — плавности переходов не нужно, иначе она отстаёт от пальца */
.book-scene.scrolly .book:not(.opening) { transition: none; }
.book-scene.scrolly .book:not(.opening) .book-cover { transition: none; }

/* ярлыки разделов вокруг книги — обычные ссылки */
.book-tab {
  position: absolute; z-index: 3; display: inline-flex; align-items: center; gap: .7em;
  padding: .62em .8em; border: 1px solid var(--line); border-radius: 5px;
  background: var(--surface); color: var(--text); box-shadow: 0 .45em 1.1em var(--book-shadow);
  font: 500 .8em/1.2 var(--font-ui); text-decoration: none; white-space: nowrap;
  transition: transform .22s ease, border-color .22s ease, opacity .3s ease;
}
.book-tab:hover, .book-tab:focus-visible { color: var(--text); border-color: var(--brass); transform: translateY(-3px); }
.book-tab span { color: var(--brass); font: .85em/1.3 ui-monospace, "SF Mono", Menlo, monospace; }
.book-tab.tab-1 { top: 6.2em; left: -.6em; }
.book-tab.tab-2 { top: 14.3em; right: -1em; }
.book-tab.tab-3 { top: 21.2em; left: 1.2em; }

.book-links { display: grid; justify-items: center; gap: 12px; margin-top: 4px; }
.book-hint { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px 8px; font-weight: 500; text-decoration: none; }
.book-hint-new { color: var(--brass); }
.book-hint-new:hover { color: var(--text); }
.hint-date { color: var(--muted); font-weight: 400; }
.book-hint .icon { width: 17px; height: 17px; }

@media (max-width: 860px) {
  .book-scene { font-size: 14px; }
  .book-tab { display: none; }  /* на телефоне — без ярлыков: разделы и так сразу под книгой */
}
@media (max-width: 380px) {
  .book-scene { font-size: 12.5px; }
}
@media (prefers-reduced-motion: reduce) {
  .book, .book-cover, .book-tab { transition: none; }
}

/* ---------- «Задайте свой вопрос» ---------- */

.nav-ask { white-space: nowrap; }
@media (max-width: 1020px) {
  .nav-ask { display: none; }  /* на узких экранах — ссылки на главной, в поиске и в подвале */
}

.hero-ask { margin: 10px 0 0; color: var(--faint); font-size: .95rem; }
.hero-ask a { display: inline-flex; align-items: center; gap: 6px; vertical-align: bottom; font-weight: 500; text-decoration: none; }
.hero-ask a:hover { text-decoration: underline; }
.hero-ask .icon { width: 16px; height: 16px; }
.ask-hint { margin: 22px 0 0; color: var(--muted); }
.ask-hint[hidden] { display: none; }

.ask .lead { margin-bottom: 8px; }
.ask-search { margin: 0 0 26px; color: var(--muted); }
.ask-label { display: block; margin: 0 0 8px; font-weight: 600; }
.ask-form textarea {
  display: block; width: 100%; min-height: 13em; padding: 14px 16px; resize: vertical;
  font: 1.05rem/1.55 var(--font-ui); color: var(--text); background: var(--surface);
  border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow);
  -webkit-appearance: none; appearance: none;
}
.ask-form textarea::placeholder { color: var(--faint); }
.ask-form textarea:focus { outline: 2px solid var(--accent); outline-offset: -1px; border-color: transparent; }
.ask-count { display: block; margin: 6px 2px 0; text-align: right; color: var(--faint); font-size: .85rem; font-variant-numeric: tabular-nums; }
.ask-count.near { color: var(--brass); }
.ask-label-contact { margin-top: 14px; }
.ask-optional { color: var(--faint); font-weight: 400; }
.ask-contact {
  display: block; width: 100%; max-width: 360px; height: 48px; padding: 0 16px;
  font: 1.05rem var(--font-ui); color: var(--text); background: var(--surface);
  border: 1px solid var(--line); border-radius: 10px; -webkit-appearance: none; appearance: none;
}
.ask-contact::placeholder { color: var(--faint); }
.ask-contact:focus { outline: 2px solid var(--accent); outline-offset: -1px; border-color: transparent; }
.ask-note { margin: 8px 0 0; color: var(--faint); font-size: .88rem; line-height: 1.5; }
.ask-fill {
  display: inline-flex; margin: 8px 0 0; padding: 6px 12px; border: 1px solid var(--line); border-radius: 999px;
  background: var(--surface); color: var(--accent); font: 500 .88rem var(--font-ui); cursor: pointer;
}
.ask-fill:hover { border-color: var(--accent); }
.ask-trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ask-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin: 22px 0 0; }
.ask-send {
  display: inline-flex; align-items: center; gap: 10px; height: 52px; padding: 0 24px;
  border: 0; border-radius: 10px; cursor: pointer;
  background: var(--accent); color: var(--on-accent); font: 600 1rem var(--font-ui);
}
.ask-send:hover { background: var(--accent-hover); }
.ask-send:disabled { opacity: .55; cursor: default; }
.ask-send:disabled:hover { background: var(--accent); }
.ask-status { flex: 1 1 220px; margin: 0; color: var(--muted); font-size: .95rem; line-height: 1.45; }
.ask-status:empty { display: none; }
.ask-status.error { color: var(--danger); }
.ask-form[hidden], .ask-done[hidden] { display: none; }

.ask-done {
  padding: 22px 24px 24px; border-radius: var(--radius);
  background: var(--note-bg); border: 1px solid var(--line);
}
.ask-done:focus { outline: none; }
.ask-done h2 { margin: 0 0 6px; font-size: 1.3rem; }
.ask-done p { margin: 0 0 16px; }

.ask-rules {
  margin: 34px 0 0; padding: 18px 22px 18px 40px; border-radius: var(--radius);
  background: var(--surface-2); color: var(--muted); font-size: .95rem; line-height: 1.55;
}
.ask-rules li + li { margin-top: 6px; }
@media (max-width: 640px) {
  .ask-send { width: 100%; justify-content: center; }
  .ask-rules { padding: 16px 18px 16px 34px; }
}
