/* Тема: цвета и стиль с референса, размеры только из tokens.css */
:root {
  --font-brand: "Manrope", system-ui, sans-serif;
  --font-plain: "Manrope", system-ui, sans-serif;

  --color-surface: #ecf9fe;
  --color-on-surface: #000;
  --color-plate: #fff;
  --color-primary: #ffdf00;
  --color-on-primary: #000;
  --color-secondary-container: #d5f0ff;
  --color-on-secondary-container: #000;
  --color-sky-start: #54b4e6;
  --color-sky-end: #7bc9f0;
  --color-on-sky: #000;
  --color-outline: #000;
  --color-outline-variant: #a6c6d0;
  /* Тёмный тон неба вместо чёрного. На белом кадре белый текст даёт минимум 4.5:1 */
  --color-scrim: rgb(6 40 66 / 70%);
  --color-scrim-clear: rgb(6 40 66 / 0%);
  --color-on-scrim: #fff;

  /* Контур и жёсткая тень: числа из шкалы, приём с референса */
  --stroke: 1px solid var(--color-outline);
  --shadow-hard: var(--space-25) var(--space-25) 0 var(--color-outline);
  --shadow-hard-hover: var(--space-50) var(--space-50) 0 var(--color-outline);
  /* У обложек и кадров тень цветная: чёрная сливается с тёмными картинками */
  --color-shadow-media: var(--color-sky-start);
  --shadow-media: var(--space-25) var(--space-25) 0 var(--color-shadow-media);
  --shadow-media-hover: var(--space-50) var(--space-50) 0 var(--color-shadow-media);
  --shadow-media-large: var(--space-50) var(--space-50) 0 var(--color-shadow-media);

  --content-max: 75rem;
  --poster-width: 11.5rem;
  --episode-min: 20.5rem;
  --pane-fixed: 25.75rem;
  --pane-fixed-expanded: 22.5rem;
  --character-min: 10rem;
  --rail-gap: var(--space-200);
  --player-side: var(--pane-fixed-expanded);
  --episode-list-height: 28rem;
  --episode-list-compact: 20rem;
  /* Облака снизу голубого блока: считает scripts/make_clouds.py, плавные края, два оттенка, как на примере */
  --cloud-edge: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1640' height='64' viewBox='0 0 1640 64'%3E%3Cpath d='M0 64L0 51.6C1.3 51.6 5.3 51.6 8 51.6C10.7 51.6 13.3 51.6 16 51.7C18.7 51.7 21.3 51.7 24 51.7C26.7 51.7 29.3 51.7 32 51.7C34.7 51.7 37.3 51.7 40 51.7C42.7 51.7 45.3 51.7 48 51.7C50.7 51.7 53.3 51.7 56 51.7C58.7 51.7 61.3 51.6 64 51.6C66.7 51.6 69.3 51.6 72 51.6C74.7 51.6 77.3 51.6 80 51.6C82.7 51.6 85.3 51.6 88 51.6C90.7 51.6 93.3 51.6 96 51.6C98.7 51.6 101.3 51.7 104 51.7C106.7 51.7 109.3 51.7 112 51.6C114.7 51.6 117.3 51.6 120 51.6C122.7 51.5 125.3 51.5 128 51.5C130.7 51.5 133.3 51.4 136 51.4C138.7 51.4 141.3 51.4 144 51.3C146.7 51.3 149.3 51.3 152 51.3C154.7 51.2 157.3 51.2 160 51.2C162.7 51.2 165.3 51.1 168 51.1C170.7 51.1 173.3 51.0 176 51.0C178.7 51.0 181.3 50.9 184 50.9C186.7 50.8 189.3 50.8 192 50.8C194.7 50.7 197.3 50.7 200 50.6C202.7 50.6 205.3 50.9 208 50.5C210.7 50.2 213.3 49.6 216 48.5C218.7 47.5 221.3 45.6 224 44.3C226.7 42.9 229.3 41.7 232 40.6C234.7 39.6 237.3 38.7 240 38.0C242.7 37.2 245.3 36.6 248 36.1C250.7 35.5 253.3 35.1 256 34.8C258.7 34.5 261.3 34.3 264 34.1C266.7 34.0 269.3 34.0 272 34.0C274.7 34.0 277.3 34.2 280 34.4C282.7 34.5 285.3 34.9 288 34.9C290.7 34.9 293.3 34.9 296 34.4C298.7 34.0 301.3 33.2 304 32.4C306.7 31.7 309.3 30.8 312 30.1C314.7 29.4 317.3 28.8 320 28.3C322.7 27.8 325.3 27.3 328 27.0C330.7 26.7 333.3 26.4 336 26.2C338.7 26.1 341.3 26.0 344 26.0C346.7 26.0 349.3 26.1 352 26.2C354.7 26.4 357.3 26.7 360 27.0C362.7 27.3 365.3 27.8 368 28.3C370.7 28.8 373.3 29.4 376 30.2C378.7 30.9 381.3 31.8 384 32.8C386.7 33.8 389.3 34.9 392 36.2C394.7 37.4 397.3 39.0 400 40.0C402.7 41.1 405.3 42.0 408 42.5C410.7 42.9 413.3 42.7 416 42.8C418.7 42.9 421.3 43.0 424 43.2C426.7 43.5 429.3 43.8 432 44.3C434.7 44.8 437.3 45.4 440 46.0C442.7 46.7 445.3 47.6 448 48.4C450.7 49.2 453.3 50.2 456 50.8C458.7 51.3 461.3 51.5 464 51.6C466.7 51.8 469.3 51.7 472 51.7C474.7 51.8 477.3 51.8 480 51.8C482.7 51.9 485.3 51.9 488 52.0C490.7 52.0 493.3 52.0 496 52.0C498.7 52.0 501.3 52.0 504 52.0C506.7 52.0 509.3 52.0 512 52.0C514.7 52.0 517.3 52.0 520 52.0C522.7 52.0 525.3 52.0 528 52.0C530.7 52.0 533.3 52.0 536 52.0C538.7 52.0 541.3 52.0 544 52.0C546.7 52.0 549.3 52.0 552 52.0C554.7 51.9 557.3 51.9 560 51.9C562.7 51.9 565.3 51.8 568 51.8C570.7 51.8 573.3 51.8 576 51.8C578.7 51.7 581.3 51.7 584 51.7C586.7 51.7 589.3 51.7 592 51.6C594.7 51.6 597.3 51.6 600 51.6C602.7 51.6 605.3 51.5 608 51.5C610.7 51.5 613.3 51.5 616 51.5C618.7 51.4 621.3 51.4 624 51.4C626.7 51.4 629.3 51.4 632 51.4C634.7 51.3 637.3 51.3 640 51.3C642.7 51.3 645.3 51.4 648 51.3C650.7 51.1 653.3 51.0 656 50.6C658.7 50.1 661.3 49.1 664 48.4C666.7 47.6 669.3 46.7 672 46.0C674.7 45.3 677.3 44.7 680 44.1C682.7 43.6 685.3 43.2 688 42.8C690.7 42.5 693.3 42.3 696 42.1C698.7 41.9 701.3 41.8 704 41.8C706.7 41.8 709.3 41.9 712 42.1C714.7 42.2 717.3 42.5 720 42.8C722.7 43.2 725.3 43.6 728 44.0C730.7 44.5 733.3 45.1 736 45.5C738.7 46.0 741.3 46.5 744 46.8C746.7 47.1 749.3 47.2 752 47.2C754.7 47.3 757.3 47.1 760 47.1C762.7 47.1 765.3 47.0 768 47.1C770.7 47.2 773.3 47.3 776 47.5C778.7 47.7 781.3 47.9 784 48.2C786.7 48.6 789.3 48.9 792 49.3C794.7 49.7 797.3 50.1 800 50.5C802.7 50.8 805.3 51.2 808 51.4C810.7 51.5 813.3 51.4 816 51.4C818.7 51.4 821.3 51.4 824 51.5C826.7 51.5 829.3 51.5 832 51.5C834.7 51.5 837.3 51.6 840 51.6C842.7 51.6 845.3 51.6 848 51.6C850.7 51.7 853.3 51.7 856 51.7C858.7 51.7 861.3 51.7 864 51.8C866.7 51.8 869.3 51.8 872 51.8C874.7 51.8 877.3 51.9 880 51.9C882.7 51.9 885.3 51.9 888 52.0C890.7 52.0 893.3 52.0 896 52.0C898.7 52.0 901.3 52.0 904 52.0C906.7 52.0 909.3 52.0 912 52.0C914.7 52.0 917.3 52.0 920 52.0C922.7 52.0 925.3 52.0 928 52.0C930.7 52.0 933.3 52.0 936 52.0C938.7 52.0 941.3 52.0 944 52.0C946.7 52.0 949.3 52.0 952 52.0C954.7 51.9 957.3 51.9 960 51.9C962.7 51.8 965.3 51.8 968 51.8C970.7 51.8 973.3 51.7 976 51.7C978.7 51.7 981.3 51.7 984 51.6C986.7 51.6 989.3 51.6 992 51.5C994.7 51.5 997.3 51.5 1000 51.5C1002.7 51.4 1005.3 51.4 1008 51.4C1010.7 51.3 1013.3 51.3 1016 51.3C1018.7 51.3 1021.3 51.2 1024 51.2C1026.7 51.2 1029.3 51.1 1032 51.1C1034.7 51.1 1037.3 51.1 1040 51.0C1042.7 51.0 1045.3 51.0 1048 50.9C1050.7 50.9 1053.3 50.9 1056 50.9C1058.7 50.8 1061.3 50.8 1064 50.8C1066.7 50.8 1069.3 51.1 1072 50.7C1074.7 50.4 1077.3 49.5 1080 48.6C1082.7 47.7 1085.3 46.4 1088 45.4C1090.7 44.4 1093.3 43.5 1096 42.7C1098.7 41.9 1101.3 41.2 1104 40.6C1106.7 40.0 1109.3 39.6 1112 39.2C1114.7 38.8 1117.3 38.5 1120 38.3C1122.7 38.1 1125.3 38.0 1128 37.9C1130.7 37.9 1133.3 37.9 1136 37.8C1138.7 37.7 1141.3 37.7 1144 37.3C1146.7 36.9 1149.3 36.3 1152 35.7C1154.7 35.0 1157.3 34.2 1160 33.5C1162.7 32.8 1165.3 32.1 1168 31.5C1170.7 30.9 1173.3 30.4 1176 29.9C1178.7 29.5 1181.3 29.1 1184 28.8C1186.7 28.6 1189.3 28.4 1192 28.2C1194.7 28.1 1197.3 28.0 1200 28.0C1202.7 28.0 1205.3 28.1 1208 28.2C1210.7 28.4 1213.3 28.6 1216 28.8C1218.7 29.1 1221.3 29.5 1224 29.9C1226.7 30.4 1229.3 30.9 1232 31.5C1234.7 32.2 1237.3 32.9 1240 33.7C1242.7 34.5 1245.3 35.4 1248 36.4C1250.7 37.5 1253.3 38.7 1256 39.7C1258.7 40.7 1261.3 41.9 1264 42.6C1266.7 43.2 1269.3 43.4 1272 43.6C1274.7 43.9 1277.3 43.9 1280 44.2C1282.7 44.4 1285.3 44.8 1288 45.2C1290.7 45.7 1293.3 46.3 1296 47.0C1298.7 47.6 1301.3 48.5 1304 49.2C1306.7 49.8 1309.3 50.7 1312 51.1C1314.7 51.5 1317.3 51.4 1320 51.5C1322.7 51.5 1325.3 51.5 1328 51.5C1330.7 51.6 1333.3 51.6 1336 51.6C1338.7 51.7 1341.3 51.7 1344 51.7C1346.7 51.7 1349.3 51.8 1352 51.8C1354.7 51.8 1357.3 51.8 1360 51.9C1362.7 51.9 1365.3 51.9 1368 52.0C1370.7 52.0 1373.3 52.0 1376 52.0C1378.7 52.0 1381.3 52.0 1384 52.0C1386.7 52.0 1389.3 52.0 1392 52.0C1394.7 52.0 1397.3 52.0 1400 52.0C1402.7 52.0 1405.3 52.0 1408 52.0C1410.7 52.0 1413.3 52.0 1416 52.0C1418.7 52.0 1421.3 52.0 1424 52.0C1426.7 52.0 1429.3 52.0 1432 52.0C1434.7 52.0 1437.3 52.0 1440 52.0C1442.7 52.0 1445.3 52.0 1448 52.0C1450.7 52.0 1453.3 51.9 1456 51.9C1458.7 51.9 1461.3 51.9 1464 51.8C1466.7 51.8 1469.3 51.8 1472 51.8C1474.7 51.7 1477.3 51.7 1480 51.7C1482.7 51.7 1485.3 51.6 1488 51.6C1490.7 51.6 1493.3 51.6 1496 51.6C1498.7 51.5 1501.3 51.5 1504 51.5C1506.7 51.5 1509.3 51.5 1512 51.4C1514.7 51.4 1517.3 51.4 1520 51.2C1522.7 51.0 1525.3 50.5 1528 50.2C1530.7 49.8 1533.3 49.3 1536 48.9C1538.7 48.6 1541.3 48.2 1544 47.9C1546.7 47.7 1549.3 47.4 1552 47.3C1554.7 47.2 1557.3 47.1 1560 47.1C1562.7 47.1 1565.3 47.2 1568 47.3C1570.7 47.4 1573.3 47.7 1576 47.9C1578.7 48.2 1581.3 48.6 1584 48.9C1586.7 49.3 1589.3 49.8 1592 50.2C1594.7 50.5 1597.3 51.0 1600 51.2C1602.7 51.4 1605.3 51.4 1608 51.4C1610.7 51.5 1613.3 51.5 1616 51.5C1618.7 51.5 1621.3 51.5 1624 51.6C1626.7 51.6 1629.3 51.6 1632 51.6C1634.7 51.6 1638.7 51.6 1640 51.6L1640 64Z' fill='%23cdebfa'/%3E%3Cpath d='M0 64L0 56.2C1.3 56.1 5.3 56.0 8 55.9C10.7 55.8 13.3 55.8 16 55.7C18.7 55.6 21.3 55.5 24 55.5C26.7 55.4 29.3 55.3 32 55.3C34.7 55.2 37.3 55.1 40 55.1C42.7 55.0 45.3 55.0 48 54.9C50.7 54.8 53.3 54.8 56 54.7C58.7 54.7 61.3 54.6 64 54.6C66.7 54.5 69.3 54.8 72 54.4C74.7 54.1 77.3 53.5 80 52.5C82.7 51.5 85.3 49.6 88 48.4C90.7 47.2 93.3 46.2 96 45.4C98.7 44.5 101.3 43.9 104 43.4C106.7 42.9 109.3 42.6 112 42.3C114.7 42.0 117.3 42.1 120 41.8C122.7 41.6 125.3 41.4 128 40.8C130.7 40.2 133.3 39.2 136 38.3C138.7 37.4 141.3 36.3 144 35.4C146.7 34.6 149.3 33.8 152 33.1C154.7 32.4 157.3 31.9 160 31.5C162.7 31.0 165.3 30.7 168 30.4C170.7 30.2 173.3 30.1 176 30.0C178.7 30.0 181.3 30.0 184 30.2C186.7 30.3 189.3 30.5 192 30.9C194.7 31.2 197.3 31.6 200 32.2C202.7 32.8 205.3 33.4 208 34.2C210.7 35.0 213.3 36.0 216 37.1C218.7 38.1 221.3 39.6 224 40.6C226.7 41.7 229.3 42.8 232 43.2C234.7 43.6 237.3 43.2 240 43.1C242.7 43.1 245.3 42.9 248 42.9C250.7 43.0 253.3 43.2 256 43.5C258.7 43.9 261.3 44.4 264 45.0C266.7 45.7 269.3 46.5 272 47.5C274.7 48.4 277.3 49.9 280 50.8C282.7 51.7 285.3 52.5 288 52.8C290.7 53.1 293.3 52.8 296 52.8C298.7 52.8 301.3 52.8 304 52.9C306.7 52.9 309.3 53.0 312 53.1C314.7 53.1 317.3 53.3 320 53.4C322.7 53.5 325.3 53.6 328 53.7C330.7 53.8 333.3 53.9 336 54.1C338.7 54.2 341.3 54.4 344 54.6C346.7 54.8 349.3 54.9 352 55.2C354.7 55.4 357.3 55.6 360 55.8C362.7 56.1 365.3 56.3 368 56.4C370.7 56.5 373.3 56.6 376 56.6C378.7 56.6 381.3 56.5 384 56.4C386.7 56.4 389.3 56.3 392 56.3C394.7 56.3 397.3 56.2 400 56.2C402.7 56.1 405.3 56.1 408 56.1C410.7 56.0 413.3 56.0 416 56.0C418.7 55.9 421.3 55.9 424 55.9C426.7 55.8 429.3 55.8 432 55.8C434.7 55.7 437.3 55.7 440 55.7C442.7 55.6 445.3 55.6 448 55.6C450.7 55.6 453.3 55.5 456 55.5C458.7 55.5 461.3 55.5 464 55.4C466.7 55.4 469.3 55.4 472 55.4C474.7 55.3 477.3 55.6 480 55.3C482.7 55.0 485.3 54.2 488 53.5C490.7 52.8 493.3 52.0 496 51.4C498.7 50.7 501.3 50.2 504 49.8C506.7 49.4 509.3 49.1 512 48.9C514.7 48.7 517.3 48.6 520 48.6C522.7 48.6 525.3 48.8 528 48.9C530.7 49.0 533.3 49.5 536 49.1C538.7 48.8 541.3 47.8 544 47.0C546.7 46.1 549.3 44.9 552 44.0C554.7 43.2 557.3 42.5 560 41.9C562.7 41.3 565.3 40.9 568 40.5C570.7 40.2 573.3 40.1 576 40.0C578.7 39.9 581.3 40.0 584 40.2C586.7 40.4 589.3 40.7 592 41.1C594.7 41.5 597.3 42.1 600 42.8C602.7 43.6 605.3 44.5 608 45.5C610.7 46.4 613.3 47.8 616 48.7C618.7 49.5 621.3 50.2 624 50.5C626.7 50.8 629.3 50.3 632 50.3C634.7 50.4 637.3 50.5 640 50.8C642.7 51.0 645.3 51.4 648 51.8C650.7 52.3 653.3 52.9 656 53.5C658.7 54.0 661.3 55.0 664 55.3C666.7 55.6 669.3 55.3 672 55.2C674.7 55.2 677.3 55.2 680 55.1C682.7 55.1 685.3 55.1 688 55.1C690.7 55.0 693.3 55.0 696 55.0C698.7 54.9 701.3 54.9 704 54.9C706.7 54.9 709.3 54.8 712 54.8C714.7 54.8 717.3 54.7 720 54.7C722.7 54.7 725.3 54.7 728 54.6C730.7 54.6 733.3 54.6 736 54.5C738.7 54.5 741.3 54.5 744 54.5C746.7 54.4 749.3 54.4 752 54.4C754.7 54.4 757.3 54.4 760 54.4C762.7 54.3 765.3 54.9 768 54.2C770.7 53.5 773.3 51.5 776 50.2C778.7 48.9 781.3 47.5 784 46.4C786.7 45.3 789.3 44.4 792 43.7C794.7 42.9 797.3 42.3 800 41.8C802.7 41.3 805.3 40.9 808 40.6C810.7 40.3 813.3 40.1 816 40.0C818.7 39.9 821.3 40.1 824 39.9C826.7 39.7 829.3 39.6 832 38.8C834.7 38.0 837.3 36.4 840 35.2C842.7 34.0 845.3 32.5 848 31.4C850.7 30.2 853.3 29.2 856 28.3C858.7 27.4 861.3 26.6 864 25.9C866.7 25.2 869.3 24.6 872 24.1C874.7 23.7 877.3 23.3 880 22.9C882.7 22.6 885.3 22.4 888 22.2C890.7 22.1 893.3 22.0 896 22.0C898.7 22.0 901.3 22.1 904 22.2C906.7 22.4 909.3 22.6 912 22.9C914.7 23.3 917.3 23.7 920 24.1C922.7 24.6 925.3 25.2 928 25.9C930.7 26.6 933.3 27.4 936 28.2C938.7 29.1 941.3 30.2 944 31.1C946.7 32.0 949.3 33.1 952 33.6C954.7 34.2 957.3 34.3 960 34.3C962.7 34.4 965.3 34.1 968 34.1C970.7 34.0 973.3 34.0 976 34.1C978.7 34.2 981.3 34.4 984 34.7C986.7 35.0 989.3 35.4 992 36.0C994.7 36.5 997.3 37.2 1000 38.0C1002.7 38.8 1005.3 39.8 1008 40.9C1010.7 41.9 1013.3 43.4 1016 44.4C1018.7 45.4 1021.3 46.3 1024 46.7C1026.7 47.1 1029.3 46.7 1032 46.7C1034.7 46.7 1037.3 46.7 1040 46.8C1042.7 47.0 1045.3 47.2 1048 47.6C1050.7 47.9 1053.3 48.4 1056 48.9C1058.7 49.5 1061.3 50.2 1064 50.8C1066.7 51.5 1069.3 52.4 1072 52.7C1074.7 53.1 1077.3 53.1 1080 53.1C1082.7 53.2 1085.3 53.1 1088 53.1C1090.7 53.2 1093.3 53.2 1096 53.2C1098.7 53.2 1101.3 53.3 1104 53.3C1106.7 53.4 1109.3 53.4 1112 53.5C1114.7 53.6 1117.3 53.7 1120 53.7C1122.7 53.8 1125.3 53.9 1128 54.1C1130.7 54.2 1133.3 54.3 1136 54.4C1138.7 54.6 1141.3 54.8 1144 54.9C1146.7 55.0 1149.3 55.2 1152 55.3C1154.7 55.4 1157.3 55.6 1160 55.7C1162.7 55.9 1165.3 56.1 1168 56.3C1170.7 56.4 1173.3 56.7 1176 56.7C1178.7 56.7 1181.3 56.6 1184 56.5C1186.7 56.4 1189.3 56.3 1192 56.3C1194.7 56.2 1197.3 56.2 1200 56.1C1202.7 56.0 1205.3 56.0 1208 55.9C1210.7 55.9 1213.3 55.8 1216 55.8C1218.7 55.7 1221.3 55.7 1224 55.6C1226.7 55.6 1229.3 55.5 1232 55.5C1234.7 55.4 1237.3 55.4 1240 55.3C1242.7 55.3 1245.3 55.3 1248 55.2C1250.7 55.2 1253.3 55.1 1256 55.1C1258.7 55.1 1261.3 55.3 1264 55.0C1266.7 54.6 1269.3 53.6 1272 53.0C1274.7 52.3 1277.3 51.7 1280 51.2C1282.7 50.7 1285.3 50.3 1288 50.1C1290.7 49.8 1293.3 49.6 1296 49.5C1298.7 49.4 1301.3 49.8 1304 49.5C1306.7 49.1 1309.3 48.4 1312 47.5C1314.7 46.5 1317.3 44.9 1320 43.7C1322.7 42.5 1325.3 41.4 1328 40.4C1330.7 39.5 1333.3 38.7 1336 38.1C1338.7 37.4 1341.3 36.9 1344 36.4C1346.7 36.0 1349.3 35.7 1352 35.4C1354.7 35.2 1357.3 35.1 1360 35.0C1362.7 35.0 1365.3 35.0 1368 35.1C1370.7 35.3 1373.3 35.5 1376 35.8C1378.7 36.2 1381.3 36.6 1384 37.2C1386.7 37.7 1389.3 38.4 1392 39.1C1394.7 39.9 1397.3 40.9 1400 41.8C1402.7 42.8 1405.3 44.1 1408 44.9C1410.7 45.7 1413.3 46.4 1416 46.7C1418.7 47.0 1421.3 46.7 1424 46.7C1426.7 46.8 1429.3 46.8 1432 47.0C1434.7 47.2 1437.3 47.6 1440 48.0C1442.7 48.4 1445.3 48.9 1448 49.6C1450.7 50.2 1453.3 51.0 1456 51.7C1458.7 52.4 1461.3 53.4 1464 53.8C1466.7 54.1 1469.3 53.7 1472 53.7C1474.7 53.8 1477.3 53.8 1480 53.8C1482.7 53.8 1485.3 53.9 1488 53.9C1490.7 54.0 1493.3 54.0 1496 54.1C1498.7 54.2 1501.3 54.3 1504 54.4C1506.7 54.5 1509.3 54.6 1512 54.8C1514.7 54.9 1517.3 55.1 1520 55.2C1522.7 55.4 1525.3 55.7 1528 55.9C1530.7 56.1 1533.3 56.3 1536 56.5C1538.7 56.7 1541.3 56.9 1544 57.0C1546.7 57.1 1549.3 57.0 1552 57.0C1554.7 57.0 1557.3 57.0 1560 57.0C1562.7 57.0 1565.3 57.0 1568 57.0C1570.7 57.0 1573.3 57.0 1576 57.0C1578.7 57.0 1581.3 57.0 1584 57.0C1586.7 57.0 1589.3 57.0 1592 57.0C1594.7 57.0 1597.3 57.0 1600 57.0C1602.7 57.0 1605.3 57.0 1608 57.0C1610.7 57.0 1613.3 57.0 1616 57.0C1618.7 57.0 1621.3 56.8 1624 56.7C1626.7 56.6 1629.3 56.5 1632 56.4C1634.7 56.3 1638.7 56.2 1640 56.2L1640 64Z' fill='%23ecf9fe'/%3E%3C/svg%3E");
  --cloud-edge-footer: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1640' height='64' viewBox='0 0 1640 64'%3E%3Cpath d='M0 64L0 51.8C1.3 51.8 5.3 51.8 8 51.9C10.7 51.9 13.3 51.9 16 51.9C18.7 52.0 21.3 52.0 24 52.0C26.7 52.0 29.3 52.0 32 52.0C34.7 52.0 37.3 52.0 40 52.0C42.7 52.0 45.3 52.0 48 52.0C50.7 52.0 53.3 52.0 56 52.0C58.7 52.0 61.3 52.0 64 52.0C66.7 52.0 69.3 52.0 72 52.0C74.7 52.0 77.3 52.0 80 52.0C82.7 52.0 85.3 52.0 88 52.0C90.7 52.0 93.3 52.0 96 52.0C98.7 52.0 101.3 52.0 104 52.0C106.7 52.0 109.3 52.0 112 52.0C114.7 52.0 117.3 52.0 120 52.0C122.7 52.0 125.3 52.0 128 52.0C130.7 52.0 133.3 52.0 136 52.0C138.7 52.0 141.3 52.0 144 52.0C146.7 52.0 149.3 52.0 152 52.0C154.7 52.0 157.3 52.0 160 52.0C162.7 52.0 165.3 52.0 168 52.0C170.7 52.0 173.3 52.0 176 52.0C178.7 52.0 181.3 52.0 184 52.0C186.7 52.0 189.3 52.0 192 52.0C194.7 52.0 197.3 52.0 200 52.0C202.7 52.0 205.3 52.0 208 52.0C210.7 52.0 213.3 52.0 216 52.0C218.7 52.0 221.3 52.0 224 52.0C226.7 52.0 229.3 52.0 232 52.0C234.7 52.0 237.3 52.0 240 52.0C242.7 52.0 245.3 52.0 248 52.0C250.7 52.0 253.3 52.0 256 52.0C258.7 52.0 261.3 52.0 264 52.0C266.7 52.0 269.3 52.0 272 52.0C274.7 52.0 277.3 52.0 280 52.0C282.7 52.0 285.3 52.0 288 52.0C290.7 52.0 293.3 52.0 296 52.0C298.7 52.0 301.3 52.0 304 52.0C306.7 52.0 309.3 52.0 312 52.0C314.7 51.9 317.3 51.9 320 51.9C322.7 51.9 325.3 51.8 328 51.8C330.7 51.8 333.3 51.8 336 51.8C338.7 51.7 341.3 51.7 344 51.7C346.7 51.7 349.3 51.6 352 51.6C354.7 51.6 357.3 51.6 360 51.6C362.7 51.5 365.3 51.5 368 51.5C370.7 51.5 373.3 51.5 376 51.4C378.7 51.4 381.3 51.4 384 51.4C386.7 51.4 389.3 51.4 392 51.3C394.7 51.2 397.3 50.9 400 50.6C402.7 50.2 405.3 49.7 408 49.2C410.7 48.7 413.3 48.2 416 47.7C418.7 47.2 421.3 46.8 424 46.4C426.7 46.0 429.3 45.7 432 45.5C434.7 45.2 437.3 45.0 440 44.9C442.7 44.7 445.3 44.6 448 44.6C450.7 44.6 453.3 44.6 456 44.7C458.7 44.8 461.3 44.9 464 45.1C466.7 45.3 469.3 45.6 472 45.9C474.7 46.2 477.3 46.6 480 46.9C482.7 47.3 485.3 47.7 488 48.0C490.7 48.4 493.3 48.7 496 48.9C498.7 49.1 501.3 49.2 504 49.2C506.7 49.2 509.3 49.1 512 49.0C514.7 49.0 517.3 48.9 520 48.9C522.7 48.9 525.3 49.0 528 49.1C530.7 49.1 533.3 49.3 536 49.4C538.7 49.6 541.3 49.7 544 49.9C546.7 50.1 549.3 50.4 552 50.6C554.7 50.8 557.3 51.0 560 51.2C562.7 51.3 565.3 51.4 568 51.5C570.7 51.5 573.3 51.5 576 51.5C578.7 51.5 581.3 51.6 584 51.6C586.7 51.6 589.3 51.6 592 51.7C594.7 51.7 597.3 51.7 600 51.7C602.7 51.7 605.3 51.8 608 51.8C610.7 51.8 613.3 51.8 616 51.9C618.7 51.9 621.3 51.9 624 51.9C626.7 51.9 629.3 52.0 632 52.0C634.7 52.0 637.3 52.0 640 52.0C642.7 52.0 645.3 52.0 648 52.0C650.7 52.0 653.3 52.0 656 52.0C658.7 52.0 661.3 52.0 664 52.0C666.7 52.0 669.3 52.0 672 52.0C674.7 52.0 677.3 52.0 680 52.0C682.7 52.0 685.3 52.0 688 52.0C690.7 52.0 693.3 52.0 696 52.0C698.7 52.0 701.3 52.0 704 52.0C706.7 52.0 709.3 52.0 712 52.0C714.7 52.0 717.3 52.0 720 52.0C722.7 52.0 725.3 52.0 728 52.0C730.7 52.0 733.3 52.0 736 52.0C738.7 52.0 741.3 52.0 744 52.0C746.7 52.0 749.3 52.0 752 52.0C754.7 52.0 757.3 52.0 760 52.0C762.7 52.0 765.3 52.0 768 52.0C770.7 52.0 773.3 52.0 776 52.0C778.7 52.0 781.3 52.0 784 52.0C786.7 52.0 789.3 52.0 792 52.0C794.7 51.9 797.3 51.9 800 51.9C802.7 51.9 805.3 51.8 808 51.8C810.7 51.8 813.3 51.8 816 51.7C818.7 51.7 821.3 51.7 824 51.7C826.7 51.6 829.3 51.6 832 51.6C834.7 51.5 837.3 51.5 840 51.5C842.7 51.5 845.3 51.4 848 51.4C850.7 51.4 853.3 51.4 856 51.3C858.7 51.3 861.3 51.3 864 51.3C866.7 51.2 869.3 51.2 872 51.2C874.7 51.2 877.3 51.6 880 51.1C882.7 50.7 885.3 49.5 888 48.4C890.7 47.3 893.3 45.7 896 44.5C898.7 43.3 901.3 42.2 904 41.2C906.7 40.3 909.3 39.5 912 38.7C914.7 38.0 917.3 37.4 920 36.9C922.7 36.3 925.3 35.9 928 35.5C930.7 35.1 933.3 34.8 936 34.6C938.7 34.4 941.3 34.2 944 34.1C946.7 34.0 949.3 34.0 952 34.0C954.7 34.0 957.3 34.1 960 34.3C962.7 34.5 965.3 34.7 968 35.0C970.7 35.3 973.3 35.7 976 36.1C978.7 36.6 981.3 37.1 984 37.7C986.7 38.3 989.3 39.1 992 39.9C994.7 40.7 997.3 41.6 1000 42.6C1002.7 43.5 1005.3 44.7 1008 45.4C1010.7 46.2 1013.3 46.8 1016 47.1C1018.7 47.3 1021.3 47.1 1024 47.0C1026.7 47.0 1029.3 47.0 1032 47.0C1034.7 47.0 1037.3 47.1 1040 47.2C1042.7 47.4 1045.3 47.5 1048 47.8C1050.7 48.0 1053.3 48.3 1056 48.5C1058.7 48.8 1061.3 49.2 1064 49.5C1066.7 49.9 1069.3 50.2 1072 50.5C1074.7 50.8 1077.3 51.2 1080 51.3C1082.7 51.4 1085.3 51.4 1088 51.4C1090.7 51.4 1093.3 51.4 1096 51.5C1098.7 51.5 1101.3 51.5 1104 51.5C1106.7 51.6 1109.3 51.6 1112 51.6C1114.7 51.6 1117.3 51.7 1120 51.7C1122.7 51.7 1125.3 51.7 1128 51.8C1130.7 51.8 1133.3 51.8 1136 51.8C1138.7 51.9 1141.3 51.9 1144 51.9C1146.7 51.9 1149.3 52.0 1152 52.0C1154.7 52.0 1157.3 52.0 1160 52.0C1162.7 52.0 1165.3 52.0 1168 52.0C1170.7 52.0 1173.3 52.0 1176 52.0C1178.7 52.0 1181.3 52.0 1184 52.0C1186.7 52.0 1189.3 52.0 1192 52.0C1194.7 52.0 1197.3 52.0 1200 52.0C1202.7 52.0 1205.3 52.0 1208 52.0C1210.7 52.0 1213.3 52.0 1216 52.0C1218.7 52.0 1221.3 52.0 1224 52.0C1226.7 52.0 1229.3 52.0 1232 52.0C1234.7 52.0 1237.3 52.0 1240 52.0C1242.7 52.0 1245.3 52.0 1248 52.0C1250.7 52.0 1253.3 52.0 1256 52.0C1258.7 52.0 1261.3 52.0 1264 52.0C1266.7 52.0 1269.3 52.0 1272 52.0C1274.7 52.0 1277.3 52.0 1280 52.0C1282.7 52.0 1285.3 52.0 1288 52.0C1290.7 52.0 1293.3 52.0 1296 52.0C1298.7 52.0 1301.3 52.0 1304 52.0C1306.7 52.0 1309.3 52.0 1312 52.0C1314.7 52.0 1317.3 52.0 1320 52.0C1322.7 52.0 1325.3 52.0 1328 52.0C1330.7 52.0 1333.3 52.0 1336 52.0C1338.7 52.0 1341.3 52.0 1344 52.0C1346.7 52.0 1349.3 52.0 1352 52.0C1354.7 52.0 1357.3 52.0 1360 52.0C1362.7 52.0 1365.3 52.0 1368 52.0C1370.7 52.0 1373.3 52.0 1376 52.0C1378.7 52.0 1381.3 52.0 1384 52.0C1386.7 52.0 1389.3 52.0 1392 52.0C1394.7 52.0 1397.3 52.0 1400 52.0C1402.7 52.0 1405.3 52.0 1408 52.0C1410.7 52.0 1413.3 52.0 1416 52.0C1418.7 52.0 1421.3 52.0 1424 51.9C1426.7 51.9 1429.3 51.9 1432 51.9C1434.7 51.8 1437.3 51.8 1440 51.8C1442.7 51.8 1445.3 51.8 1448 51.7C1450.7 51.7 1453.3 51.7 1456 51.7C1458.7 51.6 1461.3 51.7 1464 51.6C1466.7 51.5 1469.3 51.6 1472 51.3C1474.7 51.1 1477.3 50.6 1480 50.1C1482.7 49.6 1485.3 49.1 1488 48.6C1490.7 48.1 1493.3 47.6 1496 47.3C1498.7 46.9 1501.3 46.5 1504 46.3C1506.7 46.0 1509.3 45.8 1512 45.7C1514.7 45.6 1517.3 45.5 1520 45.5C1522.7 45.5 1525.3 45.5 1528 45.7C1530.7 45.8 1533.3 46.0 1536 46.3C1538.7 46.5 1541.3 46.9 1544 47.2C1546.7 47.6 1549.3 48.1 1552 48.5C1554.7 49.0 1557.3 49.6 1560 50.0C1562.7 50.4 1565.3 50.9 1568 51.1C1570.7 51.4 1573.3 51.3 1576 51.4C1578.7 51.4 1581.3 51.4 1584 51.4C1586.7 51.4 1589.3 51.4 1592 51.4C1594.7 51.5 1597.3 51.5 1600 51.5C1602.7 51.5 1605.3 51.5 1608 51.5C1610.7 51.6 1613.3 51.6 1616 51.6C1618.7 51.6 1621.3 51.6 1624 51.7C1626.7 51.7 1629.3 51.7 1632 51.7C1634.7 51.8 1638.7 51.8 1640 51.8L1640 64Z' fill='%23cdebfa'/%3E%3Cpath d='M0 64L0 53.9C1.3 53.9 5.3 53.8 8 53.8C10.7 53.7 13.3 53.7 16 53.6C18.7 53.6 21.3 53.5 24 53.5C26.7 53.4 29.3 53.4 32 53.3C34.7 53.3 37.3 53.2 40 53.1C42.7 53.1 45.3 53.0 48 53.0C50.7 52.9 53.3 52.8 56 52.8C58.7 52.7 61.3 52.7 64 52.6C66.7 52.6 69.3 52.5 72 52.5C74.7 52.4 77.3 52.4 80 52.3C82.7 52.3 85.3 52.4 88 52.2C90.7 52.0 93.3 51.6 96 51.2C98.7 50.7 101.3 50.0 104 49.4C106.7 48.8 109.3 48.2 112 47.6C114.7 47.1 117.3 46.6 120 46.1C122.7 45.7 125.3 45.3 128 45.0C130.7 44.7 133.3 44.5 136 44.3C138.7 44.1 141.3 44.0 144 43.8C146.7 43.6 149.3 43.6 152 43.1C154.7 42.6 157.3 41.7 160 40.8C162.7 39.9 165.3 38.6 168 37.6C170.7 36.5 173.3 35.5 176 34.6C178.7 33.7 181.3 32.9 184 32.1C186.7 31.4 189.3 30.7 192 30.1C194.7 29.6 197.3 29.0 200 28.6C202.7 28.1 205.3 27.8 208 27.4C210.7 27.1 213.3 26.8 216 26.6C218.7 26.4 221.3 26.3 224 26.2C226.7 26.1 229.3 26.0 232 26.0C234.7 26.0 237.3 26.1 240 26.2C242.7 26.3 245.3 26.4 248 26.6C250.7 26.8 253.3 27.1 256 27.4C258.7 27.8 261.3 28.1 264 28.6C266.7 29.1 269.3 29.6 272 30.1C274.7 30.7 277.3 31.4 280 32.1C282.7 32.9 285.3 33.7 288 34.7C290.7 35.6 293.3 36.6 296 37.8C298.7 38.9 301.3 40.3 304 41.4C306.7 42.6 309.3 43.9 312 44.6C314.7 45.3 317.3 45.4 320 45.6C322.7 45.8 325.3 45.7 328 45.9C330.7 46.0 333.3 46.2 336 46.5C338.7 46.8 341.3 47.1 344 47.6C346.7 48.0 349.3 48.6 352 49.1C354.7 49.7 357.3 50.5 360 51.1C362.7 51.7 365.3 52.6 368 53.0C370.7 53.4 373.3 53.5 376 53.6C378.7 53.8 381.3 53.8 384 53.9C386.7 53.9 389.3 54.0 392 54.1C394.7 54.2 397.3 54.2 400 54.3C402.7 54.4 405.3 54.5 408 54.6C410.7 54.7 413.3 54.7 416 54.8C418.7 54.9 421.3 55.0 424 55.1C426.7 55.2 429.3 55.3 432 55.4C434.7 55.5 437.3 55.6 440 55.7C442.7 55.8 445.3 55.9 448 56.0C450.7 56.1 453.3 56.2 456 56.3C458.7 56.3 461.3 56.4 464 56.4C466.7 56.5 469.3 56.6 472 56.6C474.7 56.6 477.3 56.5 480 56.4C482.7 56.4 485.3 56.4 488 56.3C490.7 56.2 493.3 56.1 496 56.0C498.7 55.9 501.3 55.9 504 55.8C506.7 55.7 509.3 55.7 512 55.6C514.7 55.5 517.3 55.5 520 55.4C522.7 55.3 525.3 55.3 528 55.2C530.7 55.2 533.3 55.1 536 55.1C538.7 55.0 541.3 55.0 544 54.9C546.7 54.9 549.3 54.8 552 54.8C554.7 54.8 557.3 54.7 560 54.7C562.7 54.6 565.3 54.6 568 54.5C570.7 54.5 573.3 54.5 576 54.4C578.7 54.4 581.3 54.4 584 54.3C586.7 54.3 589.3 54.3 592 54.2C594.7 54.2 597.3 54.2 600 54.1C602.7 54.1 605.3 54.1 608 54.0C610.7 54.0 613.3 54.0 616 54.0C618.7 53.9 621.3 53.9 624 53.9C626.7 53.9 629.3 53.9 632 53.8C634.7 53.8 637.3 53.9 640 53.8C642.7 53.7 645.3 53.4 648 53.1C650.7 52.7 653.3 52.1 656 51.7C658.7 51.2 661.3 50.7 664 50.3C666.7 50.0 669.3 49.6 672 49.3C674.7 49.0 677.3 48.8 680 48.7C682.7 48.5 685.3 48.4 688 48.4C690.7 48.3 693.3 48.4 696 48.5C698.7 48.6 701.3 48.7 704 48.9C706.7 49.1 709.3 49.5 712 49.8C714.7 50.0 717.3 50.5 720 50.2C722.7 49.9 725.3 48.9 728 48.0C730.7 47.2 733.3 46.0 736 45.1C738.7 44.3 741.3 43.5 744 42.9C746.7 42.2 749.3 41.7 752 41.3C754.7 40.9 757.3 40.6 760 40.4C762.7 40.1 765.3 40.0 768 40.0C770.7 39.9 773.3 40.0 776 40.1C778.7 40.2 781.3 40.5 784 40.8C786.7 41.1 789.3 41.5 792 42.0C794.7 42.5 797.3 43.2 800 43.9C802.7 44.7 805.3 45.6 808 46.5C810.7 47.5 813.3 48.8 816 49.5C818.7 50.3 821.3 51.0 824 51.2C826.7 51.4 829.3 50.9 832 50.8C834.7 50.7 837.3 50.7 840 50.7C842.7 50.8 845.3 50.9 848 51.0C850.7 51.2 853.3 51.4 856 51.6C858.7 51.9 861.3 52.2 864 52.6C866.7 52.9 869.3 53.3 872 53.6C874.7 53.9 877.3 54.0 880 54.1C882.7 54.2 885.3 54.1 888 54.1C890.7 54.0 893.3 54.0 896 54.0C898.7 54.0 901.3 54.0 904 54.0C906.7 54.0 909.3 53.9 912 53.9C914.7 53.9 917.3 53.9 920 53.9C922.7 53.9 925.3 53.9 928 53.8C930.7 53.8 933.3 53.8 936 53.8C938.7 53.8 941.3 53.8 944 53.7C946.7 53.7 949.3 53.7 952 53.7C954.7 53.7 957.3 53.7 960 53.6C962.7 53.6 965.3 53.6 968 53.6C970.7 53.6 973.3 53.6 976 53.5C978.7 53.5 981.3 53.5 984 53.5C986.7 53.5 989.3 53.4 992 53.4C994.7 53.4 997.3 53.4 1000 53.4C1002.7 53.4 1005.3 53.3 1008 53.3C1010.7 53.3 1013.3 53.3 1016 53.3C1018.7 53.2 1021.3 53.2 1024 53.2C1026.7 53.2 1029.3 53.3 1032 53.2C1034.7 53.0 1037.3 52.6 1040 52.2C1042.7 51.7 1045.3 51.1 1048 50.5C1050.7 50.0 1053.3 49.4 1056 48.9C1058.7 48.4 1061.3 47.9 1064 47.5C1066.7 47.1 1069.3 46.7 1072 46.4C1074.7 46.1 1077.3 45.8 1080 45.6C1082.7 45.4 1085.3 45.2 1088 45.0C1090.7 44.9 1093.3 44.8 1096 44.8C1098.7 44.7 1101.3 44.8 1104 44.8C1106.7 44.8 1109.3 44.9 1112 44.7C1114.7 44.5 1117.3 44.2 1120 43.7C1122.7 43.1 1125.3 42.2 1128 41.4C1130.7 40.6 1133.3 39.7 1136 38.9C1138.7 38.1 1141.3 37.3 1144 36.6C1146.7 35.9 1149.3 35.3 1152 34.7C1154.7 34.2 1157.3 33.7 1160 33.2C1162.7 32.8 1165.3 32.4 1168 32.0C1170.7 31.7 1173.3 31.4 1176 31.1C1178.7 30.9 1181.3 30.7 1184 30.5C1186.7 30.3 1189.3 30.2 1192 30.1C1194.7 30.0 1197.3 30.0 1200 30.0C1202.7 30.0 1205.3 30.0 1208 30.1C1210.7 30.2 1213.3 30.3 1216 30.5C1218.7 30.7 1221.3 30.9 1224 31.1C1226.7 31.4 1229.3 31.7 1232 32.0C1234.7 32.4 1237.3 32.8 1240 33.2C1242.7 33.7 1245.3 34.2 1248 34.7C1250.7 35.3 1253.3 35.9 1256 36.4C1258.7 37.0 1261.3 37.6 1264 38.0C1266.7 38.4 1269.3 38.7 1272 38.8C1274.7 38.9 1277.3 38.7 1280 38.6C1282.7 38.5 1285.3 38.3 1288 38.2C1290.7 38.1 1293.3 38.0 1296 38.0C1298.7 38.0 1301.3 38.0 1304 38.2C1306.7 38.4 1309.3 38.6 1312 38.9C1314.7 39.2 1317.3 39.6 1320 40.1C1322.7 40.6 1325.3 41.2 1328 41.9C1330.7 42.6 1333.3 43.4 1336 44.4C1338.7 45.4 1341.3 46.6 1344 47.8C1346.7 49.1 1349.3 51.0 1352 51.9C1354.7 52.8 1357.3 53.1 1360 53.2C1362.7 53.3 1365.3 52.7 1368 52.5C1370.7 52.2 1373.3 52.0 1376 51.8C1378.7 51.6 1381.3 51.4 1384 51.2C1386.7 51.1 1389.3 51.0 1392 50.9C1394.7 50.8 1397.3 50.8 1400 50.8C1402.7 50.8 1405.3 50.9 1408 51.0C1410.7 51.1 1413.3 51.3 1416 51.5C1418.7 51.7 1421.3 51.9 1424 52.2C1426.7 52.5 1429.3 52.9 1432 53.2C1434.7 53.6 1437.3 54.1 1440 54.4C1442.7 54.8 1445.3 55.1 1448 55.3C1450.7 55.4 1453.3 55.3 1456 55.3C1458.7 55.3 1461.3 55.3 1464 55.3C1466.7 55.3 1469.3 55.3 1472 55.4C1474.7 55.4 1477.3 55.4 1480 55.4C1482.7 55.4 1485.3 55.5 1488 55.5C1490.7 55.5 1493.3 55.5 1496 55.5C1498.7 55.6 1501.3 55.6 1504 55.6C1506.7 55.7 1509.3 55.7 1512 55.7C1514.7 55.8 1517.3 55.7 1520 55.7C1522.7 55.6 1525.3 55.6 1528 55.6C1530.7 55.6 1533.3 55.6 1536 55.6C1538.7 55.5 1541.3 55.5 1544 55.5C1546.7 55.5 1549.3 55.5 1552 55.5C1554.7 55.5 1557.3 55.5 1560 55.5C1562.7 55.5 1565.3 55.5 1568 55.5C1570.7 55.5 1573.3 55.5 1576 55.5C1578.7 55.5 1581.3 55.5 1584 55.4C1586.7 55.4 1589.3 55.3 1592 55.2C1594.7 55.1 1597.3 55.0 1600 54.9C1602.7 54.9 1605.3 54.8 1608 54.7C1610.7 54.6 1613.3 54.6 1616 54.5C1618.7 54.4 1621.3 54.4 1624 54.3C1626.7 54.2 1629.3 54.2 1632 54.1C1634.7 54.1 1638.7 54.0 1640 53.9L1640 64Z' fill='%237bc9f0'/%3E%3C/svg%3E");
  --cloud-edge-height: 64px;
  --cloud-edge-height-compact: 44px;
  --logo-height: 5rem;
  --logo-height-compact: 3.5rem;
  --logo-tilt: -6deg;
  --icon-xs: 16px;
  --icon-sm: 18px;
  --icon-md: 20px;
  --icon-lg: 24px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body,
h1,
h2,
h3,
p,
ul {
  margin: 0;
}

ul {
  padding: 0;
  list-style: none;
}

html {
  background: var(--color-surface);
  color: var(--color-on-surface);
}

body {
  font: var(--type-body-medium);
  letter-spacing: var(--track-body-medium);
  background: var(--color-surface);
  color: var(--color-on-surface);
}

a {
  color: inherit;
}

:focus-visible {
  outline: var(--space-25) solid var(--color-outline);
  outline-offset: var(--space-25);
}

.icon-sprite {
  position: absolute;
  inline-size: 0;
  block-size: 0;
  overflow: hidden;
}

.visually-hidden {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.icon {
  flex-shrink: 0;
  inline-size: var(--icon-md);
  block-size: var(--icon-md);
}

.icon-sm {
  inline-size: var(--icon-sm);
  block-size: var(--icon-sm);
}

.icon-lg {
  inline-size: var(--icon-lg);
  block-size: var(--icon-lg);
}

.container {
  inline-size: 100%;
  max-inline-size: calc(var(--content-max) + 2 * var(--page-margin));
  margin-inline: auto;
  padding-inline: var(--page-margin);
}

/* Кнопки */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-100);
  min-block-size: var(--target-min);
  padding-inline: var(--space-300);
  border: var(--stroke);
  border-radius: var(--radius-full);
  box-shadow: var(--shadow-hard);
  font: var(--type-label-large);
  letter-spacing: var(--track-label-large);
  text-decoration: none;
  white-space: nowrap;
  transition: box-shadow var(--duration-short-4) var(--ease-standard);
}

.btn:hover {
  box-shadow: var(--shadow-hard-hover);
}

.btn-primary {
  background: var(--color-primary);
  color: var(--color-on-primary);
}

.btn-tonal {
  background: var(--color-secondary-container);
  color: var(--color-on-secondary-container);
}

/* Шапка */
.site-header {
  position: relative;
  z-index: 4;
  background: linear-gradient(var(--color-sky-start), var(--color-sky-end));
  color: var(--color-on-sky);
}

.site-header::after,
.hero::after {
  content: "";
  display: block;
  block-size: var(--cloud-edge-height);
  /* Без своей заливки: голубой градиент блока идёт под облаками сплошь */
  /* Сдвиг на 1px вниз убирает светлую линию на стыке со страницей */
  background: var(--cloud-edge) repeat-x left calc(100% + 1px) / auto 100%;
  pointer-events: none;
}

.header-bar {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-200) var(--space-300);
  padding-block: var(--space-200);
}

.logo {
  display: flex;
  align-items: center;
  gap: var(--space-150);
  min-inline-size: 0;
  min-block-size: var(--target-min);
  text-decoration: none;
}

.logo-img {
  flex-shrink: 0;
  inline-size: auto;
  block-size: var(--space-600);
}

/* В шапке логотип наклонён и свисает с голубого фона, высоту строки не меняет */
.site-header .logo-img {
  block-size: var(--logo-height);
  margin-block-end: calc(var(--target-min) - var(--logo-height));
  transform: translateY(calc(var(--space-125) / -2)) rotate(var(--logo-tilt));
}

.logo-img-footer {
  block-size: var(--space-500);
}

.logo-text {
  display: flex;
  flex-direction: column;
  min-inline-size: 0;
}

/* В широкой шапке текст логотипа в две строки, переносится только на узких экранах */
@media (width >= 72em) {
  .logo {
    flex-shrink: 0;
  }
}

.logo-title {
  font: var(--type-title-medium);
  letter-spacing: var(--track-title-medium);
}

.logo-desc {
  font: var(--type-body-small);
  letter-spacing: var(--track-body-small);
}

/* Меню в одну строку */
.menu-toggle {
  display: none;
  flex-shrink: 0;
}

.site-nav-list {
  display: flex;
  align-items: center;
  gap: var(--space-150);
}

.site-nav-item {
  position: relative;
}

.btn-chevron {
  transition: transform var(--duration-short-4) var(--ease-standard);
}

[aria-expanded="true"] .btn-chevron {
  transform: rotate(180deg);
}

/* Без скриптов панели просто открыты, поэтому скрываем их только при работающем JS */
.js .seasons-panel:not(.open) {
  display: none;
}

.seasons-panel {
  position: absolute;
  z-index: 3;
  inset-block-start: calc(100% + var(--space-100));
  inset-inline-start: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-50);
  inline-size: 30rem;
  max-block-size: 70vh;
  overflow-y: auto;
  padding: var(--space-100);
  border: var(--stroke);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-hard-hover);
  background: var(--color-surface);
  color: var(--color-on-surface);
}

.season-link {
  display: flex;
  align-items: center;
  min-block-size: var(--target-min);
  padding-inline: var(--space-150);
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  font: var(--type-label-large);
  letter-spacing: var(--track-label-large);
  text-decoration: none;
  white-space: nowrap;
}

.season-link:hover {
  background: var(--color-secondary-container);
}

.season-link.active {
  border: var(--stroke);
  background: var(--color-primary);
  color: var(--color-on-primary);
}

/* Хлебные крошки */
.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-50) var(--space-100);
  padding-block: var(--space-200);
  font: var(--type-body-small);
  letter-spacing: var(--track-body-small);
}

.breadcrumbs li {
  display: flex;
  align-items: center;
  gap: var(--space-100);
}

.breadcrumbs li + li::before {
  content: "/";
}

.breadcrumbs a {
  display: inline-flex;
  align-items: center;
  min-block-size: var(--space-300);
}

/* Основная часть */
.page {
  display: flex;
  flex-direction: column;
  gap: var(--space-500);
  padding-block: var(--space-500) var(--space-400);
}

.season-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--poster-width);
  align-items: start;
  gap: var(--space-300);
}

.season-poster {
  inline-size: 100%;
  block-size: auto;
  aspect-ratio: 2 / 3;
  border: var(--stroke);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-media-large);
  object-fit: cover;
}

.season-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-150);
}

.season-pills {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-100);
}

.pill {
  display: inline-flex;
  align-items: center;
  gap: var(--space-100);
  min-block-size: var(--space-400);
  padding-inline: var(--space-150);
  border: var(--stroke);
  border-radius: var(--radius-sm);
  background: var(--color-secondary-container);
  color: var(--color-on-secondary-container);
  font: var(--type-label-medium);
  letter-spacing: var(--track-label-medium);
}

.page-title {
  font: var(--type-headline-large);
}

.page-subtitle {
  font: var(--type-title-medium);
  letter-spacing: var(--track-title-medium);
}

/* ch считается по цифре 0, в кириллице это даёт около 60 знаков, верхний предел Material */
.season-overview {
  font: var(--type-body-large);
  letter-spacing: var(--track-body-large);
}

.season-overview + .season-overview {
  margin-block-start: var(--space-100);
}

/* Текст сезона: 6 строк и переключатель на CSS, весь текст остаётся в разметке */
.season-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-50);
  inline-size: 100%;
}

.season-overview-box {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
  line-clamp: 6;
}

.season-more-toggle:checked ~ .season-overview-box {
  display: block;
  overflow: visible;
  -webkit-line-clamp: none;
  line-clamp: none;
}

.season-more {
  display: inline-flex;
  align-items: center;
  min-block-size: var(--space-300);
  cursor: pointer;
  font: var(--type-label-large);
  letter-spacing: var(--track-label-large);
  text-decoration: underline;
}

.season-more-close,
.season-more-toggle:checked ~ .season-more .season-more-open {
  display: none;
}

.season-more-toggle:checked ~ .season-more .season-more-close {
  display: inline;
}

.season-more-toggle:focus-visible ~ .season-more {
  outline: var(--space-25) solid var(--color-outline);
  outline-offset: var(--space-25);
}

/* Весь текст и так помещается: переключатель не нужен */
.season-text.is-fit .season-more {
  display: none;
}

.season-nav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-150);
  padding-block-start: var(--space-100);
}

.section {
  display: flex;
  flex-direction: column;
  gap: var(--space-300);
}

.section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-100) var(--space-200);
}

.section-title {
  font: var(--type-headline-medium);
}

.section-count {
  font: var(--type-body-medium);
  letter-spacing: var(--track-body-medium);
}

/* Серии: 3 колонки при ширине контента от 1032, дальше 2 и 1 */
.episodes {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--episode-min)), 1fr));
  gap: var(--space-400) var(--space-300);
}

/* Карточка серии: одна ссылка на весь блок */
.episodes > li {
  display: flex;
  min-inline-size: 0;
}

/* Ссылка только на названии, на весь блок её растягивает .episode-link::after.
   У блоков внутри .episode нет position, иначе растяжение упрётся в них. */
.episode {
  position: relative;
  isolation: isolate;
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-150);
  min-inline-size: 0;
}

.episode-media {
  display: grid;
  grid-template: minmax(0, 1fr) / minmax(0, 1fr);
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: var(--stroke);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-media);
  background: var(--color-on-surface);
  transition: box-shadow var(--duration-short-4) var(--ease-standard);
}

.episode:hover .episode-media,
.episode:focus-within .episode-media {
  box-shadow: var(--shadow-media-hover);
}

.episode-media > * {
  grid-area: 1 / 1;
}

.episode-media img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.episode-rating {
  z-index: 1;
  align-self: start;
  justify-self: end;
  margin: var(--space-100);
  display: inline-flex;
  align-items: center;
  gap: var(--space-50);
  min-block-size: var(--space-400);
  padding-inline: var(--space-100);
  border: var(--stroke);
  border-radius: var(--radius-full);
  background: var(--color-surface);
  color: var(--color-on-surface);
  font: var(--type-label-large);
  letter-spacing: var(--track-label-large);
}

.episode-number {
  z-index: 1;
  align-self: start;
  justify-self: start;
  margin: var(--space-100);
  display: grid;
  place-items: center;
  inline-size: var(--space-400);
  block-size: var(--space-400);
  border: var(--stroke);
  border-radius: var(--radius-full);
  background: var(--color-primary);
  color: var(--color-on-primary);
  font: var(--type-label-large);
  letter-spacing: var(--track-label-large);
}

.episode-caption {
  align-self: end;
  padding: var(--space-500) var(--space-200) var(--space-150);
  background: linear-gradient(to top, var(--color-scrim) calc(100% - var(--space-500)), var(--color-scrim-clear));
  color: var(--color-on-scrim);
}

.episode-title {
  font: var(--type-title-medium);
  letter-spacing: var(--track-title-medium);
}

.episode-link {
  text-decoration: none;
}

.episode-link::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  border-radius: var(--radius-md);
}

.episode:hover .episode-link {
  text-decoration: underline;
}

.episode-link:focus-visible {
  outline: none;
}

.episode-link:focus-visible::after {
  outline: var(--space-25) solid var(--color-outline);
  outline-offset: var(--space-25);
}

.episode-subtitle {
  font: var(--type-body-small);
  letter-spacing: var(--track-body-small);
}

.episode-desc {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
}

.episode-meta {
  display: flex;
  gap: var(--space-100);
  margin-block-start: auto;
  overflow-x: auto;
  scrollbar-width: none;
  font: var(--type-body-small);
  letter-spacing: var(--track-body-small);
  white-space: nowrap;
}

.episode-meta::-webkit-scrollbar {
  display: none;
}

.episode-meta li {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: var(--space-25);
}

.episode-meta .icon {
  inline-size: var(--icon-xs);
  block-size: var(--icon-xs);
}

/* Подвал */
.site-footer {
  position: relative;
  margin-block-start: var(--cloud-edge-height);
  background: linear-gradient(var(--color-sky-end), var(--color-sky-start));
  color: var(--color-on-sky);
}

/* Облака над подвалом: голубые поднимаются от подвала, рисунок свой, не как в шапке */
.site-footer::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  /* Заход на 1px убирает светлую линию на стыке с подвалом */
  inset-block-end: calc(100% - 1px);
  block-size: var(--cloud-edge-height);
  background: var(--cloud-edge-footer) repeat-x left bottom / auto 100%;
  pointer-events: none;
}

.footer-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr));
  gap: var(--space-400) var(--space-300);
  padding-block: var(--space-500) var(--space-300);
}

.footer-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-150);
}

.footer-title {
  font: var(--type-title-small);
  letter-spacing: var(--track-title-small);
}

.footer-links {
  display: flex;
  flex-direction: column;
  gap: var(--space-50);
}

.footer-links a {
  display: inline-flex;
  align-items: center;
  min-block-size: var(--space-300);
}

.footer-note {
  font: var(--type-body-small);
  letter-spacing: var(--track-body-small);
}

.footer-bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-100) var(--space-300);
  padding-block: var(--space-200) var(--space-300);
  border-block-start: var(--stroke);
  font: var(--type-body-small);
  letter-spacing: var(--track-body-small);
}

/* Счётчик считает просмотры, но на странице не виден */
.site-counter {
  position: absolute;
  inline-size: 0;
  block-size: 0;
  overflow: hidden;
}

/* Белая плашка под адресом, немного наклонена, как логотип */
.footer-mail {
  display: inline-block;
  padding: var(--space-25) var(--space-100);
  border: var(--stroke);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-hard);
  background: var(--color-plate);
  color: var(--color-on-surface);
  font: var(--type-label-medium);
  letter-spacing: var(--track-label-medium);
  transform: rotate(-2deg);
}

.footer-end {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  row-gap: var(--space-100);
}

.footer-love {
  display: inline-flex;
  align-items: center;
  gap: var(--space-100);
}

/* ===== Главная ===== */
.home .site-header {
  background: var(--color-sky-start);
}

.home .site-header::after {
  content: none;
}

.hero {
  position: relative;
  z-index: 1;
  background: linear-gradient(var(--color-sky-start), var(--color-sky-end));
  color: var(--color-on-sky);
}

.hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 6fr);
  align-items: center;
  gap: var(--space-500);
  padding-block: var(--space-800) var(--space-700);
}

.hero-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-200);
}

.hero-title {
  font: var(--type-display-medium);
}

.hero-desc {
  max-inline-size: 50ch;
  font: var(--type-body-large);
  letter-spacing: var(--track-body-large);
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-150);
  padding-block-start: var(--space-100);
}

.hero-image {
  inline-size: 100%;
  block-size: auto;
  aspect-ratio: 16 / 9;
  border: var(--stroke);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-media-large);
  object-fit: cover;
}

.page-home {
  gap: var(--space-800);
  padding-block: var(--space-500) var(--space-800);
}

/* Вкладки: сверху номера сезонов, снизу серии */
.season-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-50);
}

.season-tab {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  inline-size: var(--target-min);
  block-size: var(--target-min);
  border: 1px solid transparent;
  border-radius: var(--radius-full);
  font: var(--type-label-large);
  letter-spacing: var(--track-label-large);
  text-decoration: none;
}

.season-tab:hover {
  background: var(--color-secondary-container);
}

.season-tab[aria-selected="true"] {
  border: var(--stroke);
  box-shadow: var(--shadow-hard);
  background: var(--color-primary);
  color: var(--color-on-primary);
}

.season-tab-panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-300);
  transition: opacity var(--duration-short-4) var(--ease-standard);
}

.season-tab-panel[aria-busy="true"] {
  opacity: var(--state-disabled);
}

.tabs-more {
  display: flex;
  justify-content: center;
}

/* Лента сезонов: 8 в ряд, дальше прокрутка со своей полосой */
.rail {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-200);
}

.rail-track {
  display: flex;
  gap: var(--rail-gap);
  padding-block: var(--space-25) var(--space-50);
  padding-inline-end: var(--space-25);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.rail-track::-webkit-scrollbar {
  display: none;
}

.rail-track.is-dragging {
  scroll-snap-type: none;
}

.rail-item {
  flex: 0 0 max(calc((100% - 7 * var(--rail-gap)) / 8), 8.5rem);
  scroll-snap-align: start;
}

.rail-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-50);
  text-decoration: none;
}

.rail-card img {
  inline-size: 100%;
  block-size: auto;
  aspect-ratio: 2 / 3;
  border: var(--stroke);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-media);
  object-fit: cover;
  transition: box-shadow var(--duration-short-4) var(--ease-standard);
}

.rail-card:hover img {
  box-shadow: var(--shadow-media-hover);
}

.rail-title {
  padding-block-start: var(--space-50);
  font: var(--type-title-small);
  letter-spacing: var(--track-title-small);
}

.rail-card:hover .rail-title {
  text-decoration: underline;
}

.rail-meta {
  font: var(--type-body-small);
  letter-spacing: var(--track-body-small);
}

.rail-arrow {
  position: absolute;
  z-index: 1;
  inset-block-start: var(--space-900);
  display: none;
  place-items: center;
  inline-size: var(--target-min);
  block-size: var(--target-min);
  padding: 0;
  border: var(--stroke);
  border-radius: var(--radius-full);
  box-shadow: var(--shadow-hard);
  background: var(--color-primary);
  color: var(--color-on-primary);
  cursor: pointer;
  transition: box-shadow var(--duration-short-4) var(--ease-standard);
}

.rail-arrow:hover {
  box-shadow: var(--shadow-hard-hover);
}

.rail-arrow-prev {
  inset-inline-start: var(--space-100);
  transform: rotate(90deg);
}

.rail-arrow-next {
  inset-inline-end: var(--space-100);
  transform: rotate(-90deg);
}

.rail.is-scrollable .rail-arrow:not(:disabled) {
  display: grid;
}

.rail-bar {
  position: relative;
  display: none;
  block-size: var(--space-300);
  cursor: pointer;
  touch-action: none;
}

.rail-bar::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-start: var(--space-125);
  block-size: var(--space-50);
  border-radius: var(--radius-full);
  background: var(--color-outline-variant);
}

.rail.is-scrollable .rail-bar {
  display: block;
}

.rail-thumb {
  position: absolute;
  inset-block-start: var(--space-75);
  inset-inline-start: 0;
  block-size: var(--space-150);
  border: var(--stroke);
  border-radius: var(--radius-full);
  background: var(--color-primary);
}

/* О сериале и табличка */
.about {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--pane-fixed);
  align-items: start;
  gap: var(--space-500);
}

.about-text {
  display: flex;
  flex-direction: column;
  gap: var(--space-200);
  font: var(--type-body-large);
  letter-spacing: var(--track-body-large);
}

.about-text strong {
  font-weight: 500;
}

.infobox {
  padding: var(--space-100) var(--space-200);
  border: var(--stroke);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-hard-hover);
  background: var(--color-secondary-container);
  color: var(--color-on-secondary-container);
}

.infobox dl {
  margin: 0;
}

.infobox-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-50) var(--space-100);
  padding-block: var(--space-150);
}

.infobox-row + .infobox-row {
  border-block-start: 1px solid var(--color-outline-variant);
}

.infobox dt {
  font: var(--type-title-small);
  letter-spacing: var(--track-title-small);
}

.infobox dd {
  margin: 0;
  font: var(--type-body-medium);
  letter-spacing: var(--track-body-medium);
}

/* Персонажи как в примере */
.characters {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--character-min)), 1fr));
  gap: var(--space-400) var(--space-300);
  padding-block-start: var(--space-300);
}

.character {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-150);
  text-align: center;
  text-decoration: none;
}

.character-figure {
  position: relative;
  display: block;
  inline-size: 100%;
  max-inline-size: 11.5rem;
  aspect-ratio: 1;
  border-radius: var(--radius-full);
  background: linear-gradient(var(--color-sky-end), var(--color-sky-start));
}

.character-figure img {
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 50%;
  inline-size: 86%;
  block-size: 118%;
  object-fit: contain;
  object-position: bottom;
  transform: translateX(-50%);
}

.character-name {
  font: var(--type-title-small);
  letter-spacing: var(--track-title-small);
}

.character:hover .character-name {
  text-decoration: underline;
}

@media (width < 75em) {
  .about {
    grid-template-columns: minmax(0, 1fr) var(--pane-fixed-expanded);
  }
}

@media (width < 52.5em) {
  .hero-inner,
  .about {
    grid-template-columns: minmax(0, 1fr);
  }

  .hero-image {
    max-inline-size: 45rem;
  }
}

@media (width < 37.5em) {
  .hero-title {
    font: var(--type-headline-large);
  }

  .hero-inner {
    gap: var(--space-300);
    padding-block: var(--space-400);
  }

  .season-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-block: var(--space-25) var(--space-50);
    padding-inline-end: var(--space-50);
    scrollbar-width: none;
  }

  .season-tabs::-webkit-scrollbar {
    display: none;
  }

  .rail-arrow {
    display: none !important;
  }
}

/* ===== Страница серии ===== */
.page-episode {
  gap: var(--space-600);
}

.episode-page-head {
  display: flex;
  flex-direction: column;
  gap: var(--space-100);
}

.episode-page-sub {
  font: var(--type-body-large);
  letter-spacing: var(--track-body-large);
}

.episode-page-en {
  font: var(--type-body-small);
  letter-spacing: var(--track-body-small);
}

.player {
  position: relative;
  display: grid;
  place-items: center;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: var(--stroke);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-media-large);
  background: var(--color-on-surface);
}

.player-poster {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.episode-nav {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: var(--space-150);
}

.chevron-prev {
  transform: rotate(90deg);
}

.chevron-next {
  transform: rotate(-90deg);
}

.label-short {
  display: none;
}

.episode-nav-prev {
  justify-content: flex-start;
}

.episode-nav-next {
  justify-content: flex-end;
}

.is-disabled {
  box-shadow: none;
  opacity: var(--state-disabled);
}

.episode-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-200);
  padding-block-start: var(--space-100);
}

.rating-summary {
  display: flex;
  align-items: center;
  gap: var(--space-150);
  min-inline-size: 0;
}

.rating-score {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  inline-size: var(--space-700);
  block-size: var(--space-700);
  border: var(--stroke);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-hard);
  background: var(--color-primary);
  color: var(--color-on-primary);
  font: var(--type-title-large);
}

.rating-detail {
  display: flex;
  flex-direction: column;
  gap: var(--space-50);
  min-inline-size: 0;
}

.rating-stars {
  max-inline-size: 100%;
  block-size: auto;
}

.rating-source {
  font: var(--type-body-medium);
  letter-spacing: var(--track-body-medium);
}

.about-episode {
  padding: var(--space-200);
  border: var(--stroke);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-hard-hover);
  background: var(--color-secondary-container);
  color: var(--color-on-secondary-container);
}

.about-episode dl {
  margin: 0;
}

.about-episode-title {
  padding-block-end: var(--space-100);
  font: var(--type-title-large);
}

.about-episode-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--space-50) var(--space-200);
  padding-block: var(--space-150);
  border-block-start: 1px solid var(--color-outline-variant);
}

.about-episode dt {
  font: var(--type-body-medium);
  letter-spacing: var(--track-body-medium);
}

.about-episode dd {
  margin: 0;
  font: var(--type-title-small);
  letter-spacing: var(--track-title-small);
}

.stills-title {
  padding-block-start: var(--space-100);
  font: var(--type-title-large);
}

.stills {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-200);
}

.stills img {
  display: block;
  inline-size: 100%;
  block-size: auto;
  aspect-ratio: 16 / 9;
  border: var(--stroke);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-media);
  object-fit: cover;
}

/* Страница серии: левая колонка и правый сайдбар. В коде сначала плеер и описание, потом сайдбар */
.episode-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--player-side);
  align-items: start;
  gap: var(--space-300);
}

.episode-main,
.episode-sidebar {
  display: flex;
  flex-direction: column;
  gap: var(--space-300);
  min-inline-size: 0;
}

.player-main {
  display: flex;
  flex-direction: column;
  gap: var(--space-150);
  min-inline-size: 0;
}

.player iframe {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  border: 0;
}

.player-soon-text {
  position: relative;
  padding: var(--space-150) var(--space-300);
  border: var(--stroke);
  border-radius: var(--radius-full);
  box-shadow: var(--shadow-hard);
  background: var(--color-primary);
  color: var(--color-on-primary);
  font: var(--type-title-medium);
  letter-spacing: var(--track-title-medium);
}

.episode-side {
  border: var(--stroke);
  border-radius: var(--radius-md);
  background: var(--color-secondary-container);
  color: var(--color-on-secondary-container);
  overflow: hidden;
}

.episode-side-title {
  padding: var(--space-150) var(--space-200);
  border-block-end: var(--stroke);
  font: var(--type-title-medium);
  letter-spacing: var(--track-title-medium);
}

.season-episodes {
  display: flex;
  flex-direction: column;
  gap: var(--space-25);
  max-block-size: var(--episode-list-height);
  padding: var(--space-100);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--color-on-surface) transparent;
}

.season-episode {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-150);
  min-block-size: var(--target-min);
  padding-inline: var(--space-150);
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  font: var(--type-label-large);
  letter-spacing: var(--track-label-large);
  text-decoration: none;
}

.season-episode:hover {
  background: var(--color-surface);
}

.season-episode.active {
  border: var(--stroke);
  background: var(--color-primary);
  color: var(--color-on-primary);
}

.season-episode-name {
  min-inline-size: 0;
}

.season-episode-rating {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: var(--space-50);
}

/* Оценка всегда из 3 знаков: одинаковая ширина держит звёзды и цифры ровной колонкой */
.season-episode-score {
  min-inline-size: 3ch;
  font-variant-numeric: tabular-nums;
}

/* Сайдбар уходит вниз, когда рядом с плеером нет места */
@media (width < 67em) {
  .episode-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .season-episodes {
    max-block-size: var(--episode-list-compact);
  }
}



/* ===== Остальные страницы ===== */
.page-head {
  display: flex;
  flex-direction: column;
  gap: var(--space-100);
}

.page-intro {
  max-inline-size: 66ch;
  font: var(--type-body-large);
  letter-spacing: var(--track-body-large);
}

.season-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 8.5rem), 1fr));
  gap: var(--space-300) var(--rail-gap);
}

.episode-rank {
  z-index: 1;
  align-self: start;
  justify-self: start;
  margin: var(--space-100);
  display: inline-flex;
  align-items: center;
  min-block-size: var(--space-400);
  padding-inline: var(--space-150);
  border: var(--stroke);
  border-radius: var(--radius-full);
  background: var(--color-primary);
  color: var(--color-on-primary);
  font: var(--type-label-large);
  letter-spacing: var(--track-label-large);
}

.character-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--episode-min)), 1fr));
  gap: var(--space-300);
  padding-block-start: var(--space-300);
}

.character-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-100);
  padding: var(--space-200);
  border: var(--stroke);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-hard);
  background: var(--color-secondary-container);
  color: var(--color-on-secondary-container);
  scroll-margin-block-start: var(--space-500);
}

.character-card .character-figure {
  align-self: center;
  max-inline-size: 9rem;
  margin-block: var(--space-300) var(--space-100);
  background: linear-gradient(var(--color-sky-end), var(--color-sky-start));
}

.character-card-name {
  font: var(--type-title-large);
}

.character-card-en {
  font: var(--type-body-small);
  letter-spacing: var(--track-body-small);
}

.character-card-role {
  font: var(--type-title-small);
  letter-spacing: var(--track-title-small);
}

/* Цитата как облачко сообщения, хвостик внизу слева */
.character-quote {
  position: relative;
  align-self: flex-start;
  max-inline-size: 100%;
  margin: auto 0 var(--space-75);
  padding: var(--space-125) var(--space-200);
  border: var(--stroke);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  color: var(--color-on-surface);
}

.character-quote::after {
  content: "";
  position: absolute;
  inset-block-end: calc(var(--space-75) * -1);
  inset-inline-start: var(--space-200);
  inline-size: var(--space-150);
  block-size: var(--space-150);
  border-block-end: var(--stroke);
  border-inline-end: var(--stroke);
  background: inherit;
  transform: rotate(45deg);
}

.facts {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 24rem), 1fr));
  gap: var(--space-300);
}

.fact {
  display: flex;
  flex-direction: column;
  gap: var(--space-100);
  padding: var(--space-200);
  border: var(--stroke);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-hard);
  background: var(--color-secondary-container);
  color: var(--color-on-secondary-container);
  font: var(--type-body-large);
  letter-spacing: var(--track-body-large);
}

.fact-title {
  display: flex;
  align-items: center;
  gap: var(--space-100);
  font: var(--type-title-large);
  letter-spacing: 0;
}

.message-page {
  align-items: center;
  gap: var(--space-200);
  padding-block: var(--space-800);
  text-align: center;
}

.message-big {
  font: var(--type-display-large);
}

/* Логотип с текстом и 4 кнопки занимают 1137 px: уже этого остаётся кнопка «Меню» (брейкпоинт по контенту, web.dev) */
@media (width < 72em) {
  .menu-toggle {
    display: inline-flex;
  }

  .js .site-nav:not(.open) {
    display: none;
  }

  .site-nav {
    position: absolute;
    z-index: 3;
    inset-block-start: 100%;
    inset-inline: 0;
    padding: var(--space-100);
    border: var(--stroke);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-hard-hover);
    background: var(--color-surface);
    color: var(--color-on-surface);
  }

  .site-nav-list {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-100);
  }

  .site-nav-list .btn {
    inline-size: 100%;
  }

  .seasons-panel {
    position: static;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 6.5rem), 1fr));
    inline-size: auto;
    max-block-size: 50vh;
    margin-block-start: var(--space-100);
    box-shadow: none;
  }
}

/* Compact (телефон): шрифты на ступень меньше по той же шкале, всё в один ряд */
@media (width < 37.5em) {
  .site-header::after,
  .hero::after {
    block-size: var(--cloud-edge-height-compact);
  }

  .site-footer {
    margin-block-start: var(--cloud-edge-height-compact);
  }

  .site-footer::before {
    block-size: var(--cloud-edge-height-compact);
  }

  /* Шапка: логотип и кнопка меню, текст логотипа скрыт */
  .logo-text {
    display: none;
  }

  .site-header .logo-img {
    block-size: var(--logo-height-compact);
    margin-block-end: calc(var(--target-min) - var(--logo-height-compact));
    transform: translateY(var(--space-150)) rotate(var(--logo-tilt));
  }

  .menu-toggle {
    inline-size: var(--target-min);
    padding-inline: 0;
  }

  .menu-label {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  /* Текст */
  .page-title,
  .hero-title {
    font: var(--type-headline-small);
  }

  .section-title {
    font: var(--type-title-large);
  }

  .page-subtitle,
  .episode-page-sub,
  .hero-desc,
  .season-overview,
  .page-intro,
  .about-text,
  .fact {
    font: var(--type-body-medium);
    letter-spacing: var(--track-body-medium);
  }

  .page-subtitle {
    font: var(--type-title-small);
    letter-spacing: var(--track-title-small);
  }

  /* Отступы */
  .page,
  .page-home,
  .page-episode {
    gap: var(--space-400);
    padding-block: var(--space-300) var(--space-400);
  }

  .hero-inner {
    gap: var(--space-200);
    padding-block: var(--space-400) var(--space-300);
  }

  .hero-text,
  .season-info,
  .about-text {
    gap: var(--space-100);
  }

  /* Постер маленький, напротив заголовка: блоки .season-info становятся ячейками общей сетки */
  .season-head {
    grid-template-columns: minmax(0, 1fr) var(--space-500);
    align-items: center;
    gap: var(--space-100) var(--space-150);
  }

  .season-info {
    display: contents;
  }

  .season-info > * {
    grid-column: 1 / -1;
  }

  .season-info > .page-title {
    grid-column: 1;
  }

  .season-poster {
    grid-row: 2;
    grid-column: 2;
    border-radius: var(--radius-sm);
    box-shadow: none;
  }

  .episode-layout,
  .episode-main,
  .episode-sidebar {
    gap: var(--space-200);
  }

  .player-main {
    gap: var(--space-100);
  }

  /* Короткие подписи */
  .label-full {
    display: none;
  }

  .label-short {
    display: inline;
  }

  /* Бейджи в один ряд, без значков */
  .season-pills {
    flex-wrap: nowrap;
    gap: var(--space-50);
    overflow-x: auto;
    scrollbar-width: none;
  }

  .season-pills::-webkit-scrollbar {
    display: none;
  }

  .pill {
    flex-shrink: 0;
    min-block-size: var(--space-300);
    padding-inline: var(--space-100);
    white-space: nowrap;
  }

  .pill .icon {
    display: none;
  }

  /* Кнопки в один ряд */
  .hero-actions,
  .season-nav {
    display: grid;
    grid-auto-columns: minmax(0, 1fr);
    grid-auto-flow: column;
    inline-size: 100%;
    gap: var(--space-100);
    padding-block-start: var(--space-50);
  }

  .hero-actions .btn,
  .season-nav .btn {
    padding-inline: var(--space-100);
  }

  .hero-actions .icon {
    display: none;
  }

  .episode-nav {
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: var(--space-100);
  }

  .episode-nav .btn {
    gap: var(--space-50);
    padding-inline: var(--space-100);
  }

  .episode-nav-prev,
  .episode-nav-next {
    justify-content: center;
  }

  .episode-nav-season {
    inline-size: var(--target-min);
  }

  /* Кадры в один ряд с прокруткой: видно примерно полтора кадра */
  .stills {
    display: flex;
    gap: var(--space-100);
    padding-block-end: var(--space-50);
    padding-inline-end: var(--space-50);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .stills::-webkit-scrollbar {
    display: none;
  }

  .stills li {
    flex: 0 0 66%;
    scroll-snap-align: start;
  }

  .about-episode,
  .infobox {
    padding: var(--space-100) var(--space-150);
  }

  .about-episode-row,
  .infobox-row {
    padding-block: var(--space-100);
  }

  .episodes {
    gap: var(--space-300);
  }
}

/* Самые узкие телефоны */
@media (width < 22.5em) {
  .episode-nav .btn {
    padding-inline: var(--space-50);
    font: var(--type-label-medium);
    letter-spacing: var(--track-label-medium);
  }

  .hero-actions .btn,
  .season-nav .btn {
    padding-inline: var(--space-50);
    font: var(--type-label-medium);
    letter-spacing: var(--track-label-medium);
  }
}
