  :root, [data-theme="light"] {
    --font-display: "Source Serif 4", "Source Serif Pro", "Iowan Old Style", "Palatino Linotype", "Noto Serif", Georgia, serif;
    --font-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    --bg-page-1: #efe9f5;
    --bg-page-2: #f5f3ee;
    --bg-1: #ffffff;
    --bg-2: #ffffff;
    --line: #e1ddd2;
    --text: #1d1b16;
    --muted: #6f6a5f;
    --primary: #AB4FFF;
    --primary-2: #7a37b8;
    --primary-glow: rgba(138,30,45,.15);
    --primary-soft: rgba(138,30,45,.07);
    --primary-border: rgba(138,30,45,.35);
    --primary-text: #AB4FFF;
    --input-bg: #fdfcfa;
    --ghost-bg: #f1efe8;
    --row-hover: rgba(138,30,45,.035);
    --th-bg: #f7f5f0;
    --green: #1a7f4b;
    --amber: #9a6700;
    --shadow-card: 0 1px 2px rgba(29,27,22,.05);
    --block-bg: #fbfaf6;
    --block-border: var(--line);
    --bad-bg: #f9ecec;
    --bad-text: #AB4FFF;
    --bad-border: #e3c6c6;
    --code-bg: #14120f;
    --code-text: #e8e5de;
    --bg-scene: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1600 900%22 preserveAspectRatio=%22xMidYMax slice%22%3E%3Cdefs%3E%3CradialGradient id=%22g%22 cx=%2260%25%22 cy=%2246%25%22 r=%2262%25%22%3E%3Cstop offset=%220%25%22 stop-color=%22%23c2604e%22 stop-opacity=%22.11%22/%3E%3Cstop offset=%22100%25%22 stop-color=%22%23c2604e%22 stop-opacity=%220%22/%3E%3C/radialGradient%3E%3C/defs%3E%3Crect width=%221600%22 height=%22900%22 fill=%22url%28%23g%29%22/%3E%3Cpath d=%22M0,418 L10,410 L20,400 L30,391 L40,380 L50,382 L60,392 L70,400 L80,410 L90,419 L100,425 L110,435 L120,444 L130,452 L140,463 L150,472 L160,473 L170,465 L180,456 L190,451 L200,441 L210,433 L220,426 L230,419 L240,408 L250,403 L260,393 L270,387 L280,379 L290,371 L300,367 L310,374 L320,379 L330,386 L340,395 L350,401 L360,410 L370,417 L380,423 L390,432 L400,437 L410,446 L420,453 L430,463 L440,470 L450,478 L460,484 L470,489 L480,497 L490,504 L500,515 L510,520 L520,527 L530,528 L540,528 L550,531 L560,530 L570,526 L580,522 L590,517 L600,514 L610,507 L620,506 L630,498 L640,494 L650,491 L660,488 L670,481 L680,476 L690,473 L700,470 L710,464 L720,458 L730,456 L740,448 L750,447 L760,442 L770,438 L780,430 L790,426 L800,424 L810,420 L820,414 L830,408 L840,408 L850,401 L860,395 L870,393 L880,388 L890,382 L900,380 L910,376 L920,370 L930,366 L940,362 L950,364 L960,367 L970,374 L980,377 L990,380 L1000,387 L1010,393 L1020,397 L1030,402 L1040,405 L1050,401 L1060,395 L1070,391 L1080,386 L1090,381 L1100,377 L1110,372 L1120,369 L1130,364 L1140,361 L1150,368 L1160,371 L1170,376 L1180,380 L1190,384 L1200,391 L1210,395 L1220,400 L1230,405 L1240,411 L1250,415 L1260,416 L1270,422 L1280,428 L1290,432 L1300,439 L1310,442 L1320,445 L1330,451 L1340,457 L1350,457 L1360,451 L1370,448 L1380,440 L1390,433 L1400,427 L1410,419 L1420,415 L1430,406 L1440,399 L1450,396 L1460,387 L1470,382 L1480,374 L1490,367 L1500,359 L1510,353 L1520,349 L1530,341 L1540,336 L1550,333 L1560,341 L1570,349 L1580,356 L1590,364 L1600,369%22 fill=%22none%22 stroke=%22%23fdfcfa%22 stroke-width=%223%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M0,900 L0,418 L10,410 L20,400 L30,391 L40,380 L50,382 L60,392 L70,400 L80,410 L90,419 L100,425 L110,435 L120,444 L130,452 L140,463 L150,472 L160,473 L170,465 L180,456 L190,451 L200,441 L210,433 L220,426 L230,419 L240,408 L250,403 L260,393 L270,387 L280,379 L290,371 L300,367 L310,374 L320,379 L330,386 L340,395 L350,401 L360,410 L370,417 L380,423 L390,432 L400,437 L410,446 L420,453 L430,463 L440,470 L450,478 L460,484 L470,489 L480,497 L490,504 L500,515 L510,520 L520,527 L530,528 L540,528 L550,531 L560,530 L570,526 L580,522 L590,517 L600,514 L610,507 L620,506 L630,498 L640,494 L650,491 L660,488 L670,481 L680,476 L690,473 L700,470 L710,464 L720,458 L730,456 L740,448 L750,447 L760,442 L770,438 L780,430 L790,426 L800,424 L810,420 L820,414 L830,408 L840,408 L850,401 L860,395 L870,393 L880,388 L890,382 L900,380 L910,376 L920,370 L930,366 L940,362 L950,364 L960,367 L970,374 L980,377 L990,380 L1000,387 L1010,393 L1020,397 L1030,402 L1040,405 L1050,401 L1060,395 L1070,391 L1080,386 L1090,381 L1100,377 L1110,372 L1120,369 L1130,364 L1140,361 L1150,368 L1160,371 L1170,376 L1180,380 L1190,384 L1200,391 L1210,395 L1220,400 L1230,405 L1240,411 L1250,415 L1260,416 L1270,422 L1280,428 L1290,432 L1300,439 L1310,442 L1320,445 L1330,451 L1340,457 L1350,457 L1360,451 L1370,448 L1380,440 L1390,433 L1400,427 L1410,419 L1420,415 L1430,406 L1440,399 L1450,396 L1460,387 L1470,382 L1480,374 L1490,367 L1500,359 L1510,353 L1520,349 L1530,341 L1540,336 L1550,333 L1560,341 L1570,349 L1580,356 L1590,364 L1600,369 L1600,900 Z%22 fill=%22%23eceae1%22/%3E%3Cpath d=%22M0,639 L10,639 L20,637 L30,641 L40,640 L50,637 L60,637 L70,635 L80,636 L90,637 L100,634 L110,638 L120,637 L130,633 L140,634 L150,634 L160,634 L170,636 L180,634 L190,635 L200,634 L210,633 L220,634 L230,631 L240,634 L250,634 L260,631 L270,632 L280,632 L290,629 L300,629 L310,628 L320,627 L330,630 L340,629 L350,629 L360,630 L370,629 L380,629 L390,628 L400,626 L410,625 L420,625 L430,629 L440,628 L450,624 L460,624 L470,625 L480,627 L490,627 L500,627 L510,623 L520,623 L530,624 L540,624 L550,625 L560,624 L570,625 L580,623 L590,623 L600,623 L610,625 L620,625 L630,621 L640,610 L650,603 L660,597 L670,590 L680,585 L690,577 L700,572 L710,562 L720,559 L730,549 L740,541 L750,538 L760,529 L770,523 L780,514 L790,511 L800,502 L810,496 L820,490 L830,483 L840,477 L850,468 L860,461 L870,455 L880,448 L890,430 L900,418 L910,406 L920,405 L930,413 L940,410 L950,402 L960,397 L970,388 L980,396 L990,405 L1000,409 L1010,415 L1020,423 L1030,431 L1040,439 L1050,447 L1060,452 L1070,457 L1080,466 L1090,474 L1100,481 L1110,484 L1120,490 L1130,499 L1140,500 L1150,508 L1160,509 L1170,515 L1180,520 L1190,523 L1200,528 L1210,533 L1220,538 L1230,541 L1240,543 L1250,539 L1260,537 L1270,531 L1280,524 L1290,522 L1300,519 L1310,511 L1320,506 L1330,503 L1340,498 L1350,496 L1360,487 L1370,485 L1380,483 L1390,478 L1400,469 L1410,470 L1420,461 L1430,457 L1440,449 L1450,446 L1460,436 L1470,431 L1480,432 L1490,440 L1500,448 L1510,452 L1520,461 L1530,467 L1540,474 L1550,483 L1560,491 L1570,497 L1580,505 L1590,512 L1600,516%22 fill=%22none%22 stroke=%22%23fbfaf6%22 stroke-width=%223.5%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M0,900 L0,639 L10,639 L20,637 L30,641 L40,640 L50,637 L60,637 L70,635 L80,636 L90,637 L100,634 L110,638 L120,637 L130,633 L140,634 L150,634 L160,634 L170,636 L180,634 L190,635 L200,634 L210,633 L220,634 L230,631 L240,634 L250,634 L260,631 L270,632 L280,632 L290,629 L300,629 L310,628 L320,627 L330,630 L340,629 L350,629 L360,630 L370,629 L380,629 L390,628 L400,626 L410,625 L420,625 L430,629 L440,628 L450,624 L460,624 L470,625 L480,627 L490,627 L500,627 L510,623 L520,623 L530,624 L540,624 L550,625 L560,624 L570,625 L580,623 L590,623 L600,623 L610,625 L620,625 L630,621 L640,610 L650,603 L660,597 L670,590 L680,585 L690,577 L700,572 L710,562 L720,559 L730,549 L740,541 L750,538 L760,529 L770,523 L780,514 L790,511 L800,502 L810,496 L820,490 L830,483 L840,477 L850,468 L860,461 L870,455 L880,448 L890,430 L900,418 L910,406 L920,405 L930,413 L940,410 L950,402 L960,397 L970,388 L980,396 L990,405 L1000,409 L1010,415 L1020,423 L1030,431 L1040,439 L1050,447 L1060,452 L1070,457 L1080,466 L1090,474 L1100,481 L1110,484 L1120,490 L1130,499 L1140,500 L1150,508 L1160,509 L1170,515 L1180,520 L1190,523 L1200,528 L1210,533 L1220,538 L1230,541 L1240,543 L1250,539 L1260,537 L1270,531 L1280,524 L1290,522 L1300,519 L1310,511 L1320,506 L1330,503 L1340,498 L1350,496 L1360,487 L1370,485 L1380,483 L1390,478 L1400,469 L1410,470 L1420,461 L1430,457 L1440,449 L1450,446 L1460,436 L1470,431 L1480,432 L1490,440 L1500,448 L1510,452 L1520,461 L1530,467 L1540,474 L1550,483 L1560,491 L1570,497 L1580,505 L1590,512 L1600,516 L1600,900 Z%22 fill=%22%23e3e0d6%22/%3E%3Cpath d=%22M0,620 L10,612 L20,611 L30,604 L40,607 L50,609 L60,611 L70,614 L80,620 L90,621 L100,628 L110,628 L120,631 L130,635 L140,635 L150,631 L160,625 L170,621 L180,617 L190,615 L200,616 L210,617 L220,620 L230,629 L240,632 L250,634 L260,640 L270,643 L280,645 L290,651 L300,657 L310,659 L320,667 L330,670 L340,670 L350,676 L360,680 L370,688 L380,688 L390,696 L400,700 L410,699 L420,709 L430,709 L440,714 L450,719 L460,726 L470,730 L480,729 L490,731 L500,727 L510,728 L520,730 L530,729 L540,728 L550,731 L560,729 L570,728 L580,728 L590,730 L600,726 L610,726 L620,727 L630,730 L640,726 L650,727 L660,728 L670,729 L680,730 L690,727 L700,729 L710,729 L720,724 L730,730 L740,725 L750,726 L760,725 L770,724 L780,724 L790,724 L800,724 L810,726 L820,728 L830,725 L840,728 L850,728 L860,726 L870,729 L880,729 L890,728 L900,725 L910,725 L920,725 L930,727 L940,729 L950,729 L960,726 L970,728 L980,726 L990,727 L1000,729 L1010,727 L1020,731 L1030,731 L1040,726 L1050,732 L1060,726 L1070,728 L1080,727 L1090,731 L1100,733 L1110,733 L1120,732 L1130,730 L1140,723 L1150,717 L1160,712 L1170,707 L1180,703 L1190,695 L1200,686 L1210,684 L1220,676 L1230,672 L1240,667 L1250,656 L1260,650 L1270,646 L1280,638 L1290,634 L1300,631 L1310,623 L1320,618 L1330,611 L1340,606 L1350,609 L1360,608 L1370,604 L1380,592 L1390,583 L1400,579 L1410,568 L1420,560 L1430,555 L1440,545 L1450,537 L1460,537 L1470,544 L1480,554 L1490,560 L1500,571 L1510,581 L1520,588 L1530,595 L1540,603 L1550,614 L1560,618 L1570,631 L1580,637 L1590,647 L1600,657%22 fill=%22none%22 stroke=%22%23f8f6f0%22 stroke-width=%224%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M0,900 L0,620 L10,612 L20,611 L30,604 L40,607 L50,609 L60,611 L70,614 L80,620 L90,621 L100,628 L110,628 L120,631 L130,635 L140,635 L150,631 L160,625 L170,621 L180,617 L190,615 L200,616 L210,617 L220,620 L230,629 L240,632 L250,634 L260,640 L270,643 L280,645 L290,651 L300,657 L310,659 L320,667 L330,670 L340,670 L350,676 L360,680 L370,688 L380,688 L390,696 L400,700 L410,699 L420,709 L430,709 L440,714 L450,719 L460,726 L470,730 L480,729 L490,731 L500,727 L510,728 L520,730 L530,729 L540,728 L550,731 L560,729 L570,728 L580,728 L590,730 L600,726 L610,726 L620,727 L630,730 L640,726 L650,727 L660,728 L670,729 L680,730 L690,727 L700,729 L710,729 L720,724 L730,730 L740,725 L750,726 L760,725 L770,724 L780,724 L790,724 L800,724 L810,726 L820,728 L830,725 L840,728 L850,728 L860,726 L870,729 L880,729 L890,728 L900,725 L910,725 L920,725 L930,727 L940,729 L950,729 L960,726 L970,728 L980,726 L990,727 L1000,729 L1010,727 L1020,731 L1030,731 L1040,726 L1050,732 L1060,726 L1070,728 L1080,727 L1090,731 L1100,733 L1110,733 L1120,732 L1130,730 L1140,723 L1150,717 L1160,712 L1170,707 L1180,703 L1190,695 L1200,686 L1210,684 L1220,676 L1230,672 L1240,667 L1250,656 L1260,650 L1270,646 L1280,638 L1290,634 L1300,631 L1310,623 L1320,618 L1330,611 L1340,606 L1350,609 L1360,608 L1370,604 L1380,592 L1390,583 L1400,579 L1410,568 L1420,560 L1430,555 L1440,545 L1450,537 L1460,537 L1470,544 L1480,554 L1490,560 L1500,571 L1510,581 L1520,588 L1530,595 L1540,603 L1550,614 L1560,618 L1570,631 L1580,637 L1590,647 L1600,657 L1600,900 Z%22 fill=%22%23d8d5ca%22/%3E%3Cpath d=%22M0,853 L10,848 L20,852 L30,843 L40,841 L50,835 L60,823 L70,813 L80,808 L90,804 L100,793 L110,789 L120,778 L130,774 L140,764 L150,757 L160,747 L170,738 L180,732 L190,729 L200,715 L210,711 L220,702 L230,696 L240,687 L250,679 L260,679 L270,686 L280,691 L290,700 L300,703 L310,710 L320,721 L330,726 L340,733 L350,741 L360,749 L370,754 L380,761 L390,769 L400,776 L410,781 L420,786 L430,797 L440,804 L450,811 L460,819 L470,821 L480,831 L490,836 L500,834 L510,832 L520,838 L530,838 L540,835 L550,835 L560,834 L570,836 L580,834 L590,834 L600,835 L610,834 L620,832 L630,831 L640,829 L650,826 L660,818 L670,818 L680,812 L690,807 L700,802 L710,799 L720,788 L730,787 L740,777 L750,773 L760,768 L770,767 L780,761 L790,753 L800,750 L810,741 L820,741 L830,735 L840,728 L850,725 L860,722 L870,712 L880,707 L890,705 L900,697 L910,693 L920,687 L930,684 L940,679 L950,674 L960,669 L970,663 L980,662 L990,654 L1000,649 L1010,643 L1020,649 L1030,659 L1040,664 L1050,664 L1060,671 L1070,678 L1080,686 L1090,691 L1100,696 L1110,696 L1120,707 L1130,707 L1140,716 L1150,722 L1160,725 L1170,732 L1180,735 L1190,740 L1200,744 L1210,753 L1220,754 L1230,766 L1240,764 L1250,768 L1260,765 L1270,757 L1280,758 L1290,751 L1300,747 L1310,744 L1320,740 L1330,742 L1340,748 L1350,751 L1360,761 L1370,764 L1380,771 L1390,774 L1400,779 L1410,786 L1420,792 L1430,798 L1440,799 L1450,803 L1460,811 L1470,814 L1480,822 L1490,830 L1500,833 L1510,839 L1520,846 L1530,844 L1540,846 L1550,848 L1560,849 L1570,849 L1580,849 L1590,848 L1600,849%22 fill=%22none%22 stroke=%22%23f4f2ea%22 stroke-width=%224.5%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M0,900 L0,853 L10,848 L20,852 L30,843 L40,841 L50,835 L60,823 L70,813 L80,808 L90,804 L100,793 L110,789 L120,778 L130,774 L140,764 L150,757 L160,747 L170,738 L180,732 L190,729 L200,715 L210,711 L220,702 L230,696 L240,687 L250,679 L260,679 L270,686 L280,691 L290,700 L300,703 L310,710 L320,721 L330,726 L340,733 L350,741 L360,749 L370,754 L380,761 L390,769 L400,776 L410,781 L420,786 L430,797 L440,804 L450,811 L460,819 L470,821 L480,831 L490,836 L500,834 L510,832 L520,838 L530,838 L540,835 L550,835 L560,834 L570,836 L580,834 L590,834 L600,835 L610,834 L620,832 L630,831 L640,829 L650,826 L660,818 L670,818 L680,812 L690,807 L700,802 L710,799 L720,788 L730,787 L740,777 L750,773 L760,768 L770,767 L780,761 L790,753 L800,750 L810,741 L820,741 L830,735 L840,728 L850,725 L860,722 L870,712 L880,707 L890,705 L900,697 L910,693 L920,687 L930,684 L940,679 L950,674 L960,669 L970,663 L980,662 L990,654 L1000,649 L1010,643 L1020,649 L1030,659 L1040,664 L1050,664 L1060,671 L1070,678 L1080,686 L1090,691 L1100,696 L1110,696 L1120,707 L1130,707 L1140,716 L1150,722 L1160,725 L1170,732 L1180,735 L1190,740 L1200,744 L1210,753 L1220,754 L1230,766 L1240,764 L1250,768 L1260,765 L1270,757 L1280,758 L1290,751 L1300,747 L1310,744 L1320,740 L1330,742 L1340,748 L1350,751 L1360,761 L1370,764 L1380,771 L1390,774 L1400,779 L1410,786 L1420,792 L1430,798 L1440,799 L1450,803 L1460,811 L1470,814 L1480,822 L1490,830 L1500,833 L1510,839 L1520,846 L1530,844 L1540,846 L1550,848 L1560,849 L1570,849 L1580,849 L1590,848 L1600,849 L1600,900 Z%22 fill=%22%23ccc9bd%22/%3E%3Cpath d=%22M0,950 L10,953 L20,951 L30,948 L40,952 L50,945 L60,950 L70,949 L80,948 L90,948 L100,950 L110,947 L120,946 L130,947 L140,942 L150,942 L160,943 L170,943 L180,940 L190,943 L200,940 L210,944 L220,939 L230,943 L240,944 L250,938 L260,944 L270,939 L280,938 L290,937 L300,943 L310,938 L320,938 L330,936 L340,940 L350,935 L360,942 L370,938 L380,938 L390,937 L400,934 L410,938 L420,933 L430,936 L440,937 L450,939 L460,933 L470,935 L480,934 L490,935 L500,931 L510,936 L520,931 L530,933 L540,933 L550,932 L560,931 L570,933 L580,930 L590,930 L600,925 L610,924 L620,913 L630,913 L640,904 L650,897 L660,898 L670,893 L680,886 L690,877 L700,874 L710,868 L720,861 L730,857 L740,850 L750,843 L760,839 L770,836 L780,824 L790,824 L800,817 L810,808 L820,802 L830,801 L840,798 L850,790 L860,781 L870,776 L880,776 L890,765 L900,764 L910,759 L920,764 L930,774 L940,775 L950,778 L960,788 L970,790 L980,794 L990,808 L1000,806 L1010,811 L1020,822 L1030,826 L1040,835 L1050,838 L1060,841 L1070,838 L1080,828 L1090,829 L1100,832 L1110,838 L1120,844 L1130,848 L1140,849 L1150,854 L1160,858 L1170,869 L1180,867 L1190,877 L1200,879 L1210,886 L1220,886 L1230,883 L1240,880 L1250,878 L1260,872 L1270,866 L1280,868 L1290,860 L1300,858 L1310,858 L1320,859 L1330,868 L1340,869 L1350,875 L1360,876 L1370,878 L1380,881 L1390,889 L1400,893 L1410,893 L1420,895 L1430,903 L1440,906 L1450,907 L1460,915 L1470,915 L1480,918 L1490,927 L1500,928 L1510,931 L1520,934 L1530,941 L1540,944 L1550,943 L1560,949 L1570,948 L1580,953 L1590,953 L1600,952%22 fill=%22none%22 stroke=%22%23efece3%22 stroke-width=%225%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M0,900 L0,950 L10,953 L20,951 L30,948 L40,952 L50,945 L60,950 L70,949 L80,948 L90,948 L100,950 L110,947 L120,946 L130,947 L140,942 L150,942 L160,943 L170,943 L180,940 L190,943 L200,940 L210,944 L220,939 L230,943 L240,944 L250,938 L260,944 L270,939 L280,938 L290,937 L300,943 L310,938 L320,938 L330,936 L340,940 L350,935 L360,942 L370,938 L380,938 L390,937 L400,934 L410,938 L420,933 L430,936 L440,937 L450,939 L460,933 L470,935 L480,934 L490,935 L500,931 L510,936 L520,931 L530,933 L540,933 L550,932 L560,931 L570,933 L580,930 L590,930 L600,925 L610,924 L620,913 L630,913 L640,904 L650,897 L660,898 L670,893 L680,886 L690,877 L700,874 L710,868 L720,861 L730,857 L740,850 L750,843 L760,839 L770,836 L780,824 L790,824 L800,817 L810,808 L820,802 L830,801 L840,798 L850,790 L860,781 L870,776 L880,776 L890,765 L900,764 L910,759 L920,764 L930,774 L940,775 L950,778 L960,788 L970,790 L980,794 L990,808 L1000,806 L1010,811 L1020,822 L1030,826 L1040,835 L1050,838 L1060,841 L1070,838 L1080,828 L1090,829 L1100,832 L1110,838 L1120,844 L1130,848 L1140,849 L1150,854 L1160,858 L1170,869 L1180,867 L1190,877 L1200,879 L1210,886 L1220,886 L1230,883 L1240,880 L1250,878 L1260,872 L1270,866 L1280,868 L1290,860 L1300,858 L1310,858 L1320,859 L1330,868 L1340,869 L1350,875 L1360,876 L1370,878 L1380,881 L1390,889 L1400,893 L1410,893 L1420,895 L1430,903 L1440,906 L1450,907 L1460,915 L1470,915 L1480,918 L1490,927 L1500,928 L1510,931 L1520,934 L1530,941 L1540,944 L1550,943 L1560,949 L1570,948 L1580,953 L1590,953 L1600,952 L1600,900 Z%22 fill=%22%23c0bdb0%22/%3E%3C/svg%3E");
  }
  [data-theme="dark"] {
    --bg-page-1: #1c181f;
    --bg-page-2: #131211;
    --bg-1: #1b1a18;
    --bg-2: #1b1a18;
    --line: #2d2b27;
    --text: #e8e5de;
    --muted: #98938a;
    --primary: #AB4FFF;
    --primary-2: #7a37b8;
    --primary-glow: rgba(166,61,75,.25);
    --primary-soft: #231430;
    --primary-border: rgba(166,61,75,.45);
    --primary-text: #d08b95;
    --input-bg: #131211;
    --ghost-bg: #232220;
    --row-hover: rgba(255,255,255,.03);
    --th-bg: #181716;
    --green: #4caf7a;
    --amber: #c9973b;
    --shadow-card: 0 1px 2px rgba(0,0,0,.35);
    --block-bg: #181716;
    --block-border: var(--line);
    --bad-bg: rgba(166,61,75,.14);
    --bad-text: #d08b95;
    --bad-border: rgba(166,61,75,.45);
    --code-bg: #0b0a09;
    --code-text: #e8e5de;
    --bg-scene: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1600 900%22 preserveAspectRatio=%22xMidYMax slice%22%3E%3Cdefs%3E%3CradialGradient id=%22g%22 cx=%2260%25%22 cy=%2250%25%22 r=%2262%25%22%3E%3Cstop offset=%220%25%22 stop-color=%22%23a63d4b%22 stop-opacity=%22.15%22/%3E%3Cstop offset=%22100%25%22 stop-color=%22%23a63d4b%22 stop-opacity=%220%22/%3E%3C/radialGradient%3E%3C/defs%3E%3Crect width=%221600%22 height=%22900%22 fill=%22url%28%23g%29%22/%3E%3Cpath d=%22M0,418 L10,410 L20,400 L30,391 L40,380 L50,382 L60,392 L70,400 L80,410 L90,419 L100,425 L110,435 L120,444 L130,452 L140,463 L150,472 L160,473 L170,465 L180,456 L190,451 L200,441 L210,433 L220,426 L230,419 L240,408 L250,403 L260,393 L270,387 L280,379 L290,371 L300,367 L310,374 L320,379 L330,386 L340,395 L350,401 L360,410 L370,417 L380,423 L390,432 L400,437 L410,446 L420,453 L430,463 L440,470 L450,478 L460,484 L470,489 L480,497 L490,504 L500,515 L510,520 L520,527 L530,528 L540,528 L550,531 L560,530 L570,526 L580,522 L590,517 L600,514 L610,507 L620,506 L630,498 L640,494 L650,491 L660,488 L670,481 L680,476 L690,473 L700,470 L710,464 L720,458 L730,456 L740,448 L750,447 L760,442 L770,438 L780,430 L790,426 L800,424 L810,420 L820,414 L830,408 L840,408 L850,401 L860,395 L870,393 L880,388 L890,382 L900,380 L910,376 L920,370 L930,366 L940,362 L950,364 L960,367 L970,374 L980,377 L990,380 L1000,387 L1010,393 L1020,397 L1030,402 L1040,405 L1050,401 L1060,395 L1070,391 L1080,386 L1090,381 L1100,377 L1110,372 L1120,369 L1130,364 L1140,361 L1150,368 L1160,371 L1170,376 L1180,380 L1190,384 L1200,391 L1210,395 L1220,400 L1230,405 L1240,411 L1250,415 L1260,416 L1270,422 L1280,428 L1290,432 L1300,439 L1310,442 L1320,445 L1330,451 L1340,457 L1350,457 L1360,451 L1370,448 L1380,440 L1390,433 L1400,427 L1410,419 L1420,415 L1430,406 L1440,399 L1450,396 L1460,387 L1470,382 L1480,374 L1490,367 L1500,359 L1510,353 L1520,349 L1530,341 L1540,336 L1550,333 L1560,341 L1570,349 L1580,356 L1590,364 L1600,369%22 fill=%22none%22 stroke=%22%2348423c%22 stroke-width=%222%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M0,900 L0,418 L10,410 L20,400 L30,391 L40,380 L50,382 L60,392 L70,400 L80,410 L90,419 L100,425 L110,435 L120,444 L130,452 L140,463 L150,472 L160,473 L170,465 L180,456 L190,451 L200,441 L210,433 L220,426 L230,419 L240,408 L250,403 L260,393 L270,387 L280,379 L290,371 L300,367 L310,374 L320,379 L330,386 L340,395 L350,401 L360,410 L370,417 L380,423 L390,432 L400,437 L410,446 L420,453 L430,463 L440,470 L450,478 L460,484 L470,489 L480,497 L490,504 L500,515 L510,520 L520,527 L530,528 L540,528 L550,531 L560,530 L570,526 L580,522 L590,517 L600,514 L610,507 L620,506 L630,498 L640,494 L650,491 L660,488 L670,481 L680,476 L690,473 L700,470 L710,464 L720,458 L730,456 L740,448 L750,447 L760,442 L770,438 L780,430 L790,426 L800,424 L810,420 L820,414 L830,408 L840,408 L850,401 L860,395 L870,393 L880,388 L890,382 L900,380 L910,376 L920,370 L930,366 L940,362 L950,364 L960,367 L970,374 L980,377 L990,380 L1000,387 L1010,393 L1020,397 L1030,402 L1040,405 L1050,401 L1060,395 L1070,391 L1080,386 L1090,381 L1100,377 L1110,372 L1120,369 L1130,364 L1140,361 L1150,368 L1160,371 L1170,376 L1180,380 L1190,384 L1200,391 L1210,395 L1220,400 L1230,405 L1240,411 L1250,415 L1260,416 L1270,422 L1280,428 L1290,432 L1300,439 L1310,442 L1320,445 L1330,451 L1340,457 L1350,457 L1360,451 L1370,448 L1380,440 L1390,433 L1400,427 L1410,419 L1420,415 L1430,406 L1440,399 L1450,396 L1460,387 L1470,382 L1480,374 L1490,367 L1500,359 L1510,353 L1520,349 L1530,341 L1540,336 L1550,333 L1560,341 L1570,349 L1580,356 L1590,364 L1600,369 L1600,900 Z%22 fill=%22%23252322%22/%3E%3Cpath d=%22M0,639 L10,639 L20,637 L30,641 L40,640 L50,637 L60,637 L70,635 L80,636 L90,637 L100,634 L110,638 L120,637 L130,633 L140,634 L150,634 L160,634 L170,636 L180,634 L190,635 L200,634 L210,633 L220,634 L230,631 L240,634 L250,634 L260,631 L270,632 L280,632 L290,629 L300,629 L310,628 L320,627 L330,630 L340,629 L350,629 L360,630 L370,629 L380,629 L390,628 L400,626 L410,625 L420,625 L430,629 L440,628 L450,624 L460,624 L470,625 L480,627 L490,627 L500,627 L510,623 L520,623 L530,624 L540,624 L550,625 L560,624 L570,625 L580,623 L590,623 L600,623 L610,625 L620,625 L630,621 L640,610 L650,603 L660,597 L670,590 L680,585 L690,577 L700,572 L710,562 L720,559 L730,549 L740,541 L750,538 L760,529 L770,523 L780,514 L790,511 L800,502 L810,496 L820,490 L830,483 L840,477 L850,468 L860,461 L870,455 L880,448 L890,430 L900,418 L910,406 L920,405 L930,413 L940,410 L950,402 L960,397 L970,388 L980,396 L990,405 L1000,409 L1010,415 L1020,423 L1030,431 L1040,439 L1050,447 L1060,452 L1070,457 L1080,466 L1090,474 L1100,481 L1110,484 L1120,490 L1130,499 L1140,500 L1150,508 L1160,509 L1170,515 L1180,520 L1190,523 L1200,528 L1210,533 L1220,538 L1230,541 L1240,543 L1250,539 L1260,537 L1270,531 L1280,524 L1290,522 L1300,519 L1310,511 L1320,506 L1330,503 L1340,498 L1350,496 L1360,487 L1370,485 L1380,483 L1390,478 L1400,469 L1410,470 L1420,461 L1430,457 L1440,449 L1450,446 L1460,436 L1470,431 L1480,432 L1490,440 L1500,448 L1510,452 L1520,461 L1530,467 L1540,474 L1550,483 L1560,491 L1570,497 L1580,505 L1590,512 L1600,516%22 fill=%22none%22 stroke=%22%23403b35%22 stroke-width=%222%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M0,900 L0,639 L10,639 L20,637 L30,641 L40,640 L50,637 L60,637 L70,635 L80,636 L90,637 L100,634 L110,638 L120,637 L130,633 L140,634 L150,634 L160,634 L170,636 L180,634 L190,635 L200,634 L210,633 L220,634 L230,631 L240,634 L250,634 L260,631 L270,632 L280,632 L290,629 L300,629 L310,628 L320,627 L330,630 L340,629 L350,629 L360,630 L370,629 L380,629 L390,628 L400,626 L410,625 L420,625 L430,629 L440,628 L450,624 L460,624 L470,625 L480,627 L490,627 L500,627 L510,623 L520,623 L530,624 L540,624 L550,625 L560,624 L570,625 L580,623 L590,623 L600,623 L610,625 L620,625 L630,621 L640,610 L650,603 L660,597 L670,590 L680,585 L690,577 L700,572 L710,562 L720,559 L730,549 L740,541 L750,538 L760,529 L770,523 L780,514 L790,511 L800,502 L810,496 L820,490 L830,483 L840,477 L850,468 L860,461 L870,455 L880,448 L890,430 L900,418 L910,406 L920,405 L930,413 L940,410 L950,402 L960,397 L970,388 L980,396 L990,405 L1000,409 L1010,415 L1020,423 L1030,431 L1040,439 L1050,447 L1060,452 L1070,457 L1080,466 L1090,474 L1100,481 L1110,484 L1120,490 L1130,499 L1140,500 L1150,508 L1160,509 L1170,515 L1180,520 L1190,523 L1200,528 L1210,533 L1220,538 L1230,541 L1240,543 L1250,539 L1260,537 L1270,531 L1280,524 L1290,522 L1300,519 L1310,511 L1320,506 L1330,503 L1340,498 L1350,496 L1360,487 L1370,485 L1380,483 L1390,478 L1400,469 L1410,470 L1420,461 L1430,457 L1440,449 L1450,446 L1460,436 L1470,431 L1480,432 L1490,440 L1500,448 L1510,452 L1520,461 L1530,467 L1540,474 L1550,483 L1560,491 L1570,497 L1580,505 L1590,512 L1600,516 L1600,900 Z%22 fill=%22%23211f1d%22/%3E%3Cpath d=%22M0,620 L10,612 L20,611 L30,604 L40,607 L50,609 L60,611 L70,614 L80,620 L90,621 L100,628 L110,628 L120,631 L130,635 L140,635 L150,631 L160,625 L170,621 L180,617 L190,615 L200,616 L210,617 L220,620 L230,629 L240,632 L250,634 L260,640 L270,643 L280,645 L290,651 L300,657 L310,659 L320,667 L330,670 L340,670 L350,676 L360,680 L370,688 L380,688 L390,696 L400,700 L410,699 L420,709 L430,709 L440,714 L450,719 L460,726 L470,730 L480,729 L490,731 L500,727 L510,728 L520,730 L530,729 L540,728 L550,731 L560,729 L570,728 L580,728 L590,730 L600,726 L610,726 L620,727 L630,730 L640,726 L650,727 L660,728 L670,729 L680,730 L690,727 L700,729 L710,729 L720,724 L730,730 L740,725 L750,726 L760,725 L770,724 L780,724 L790,724 L800,724 L810,726 L820,728 L830,725 L840,728 L850,728 L860,726 L870,729 L880,729 L890,728 L900,725 L910,725 L920,725 L930,727 L940,729 L950,729 L960,726 L970,728 L980,726 L990,727 L1000,729 L1010,727 L1020,731 L1030,731 L1040,726 L1050,732 L1060,726 L1070,728 L1080,727 L1090,731 L1100,733 L1110,733 L1120,732 L1130,730 L1140,723 L1150,717 L1160,712 L1170,707 L1180,703 L1190,695 L1200,686 L1210,684 L1220,676 L1230,672 L1240,667 L1250,656 L1260,650 L1270,646 L1280,638 L1290,634 L1300,631 L1310,623 L1320,618 L1330,611 L1340,606 L1350,609 L1360,608 L1370,604 L1380,592 L1390,583 L1400,579 L1410,568 L1420,560 L1430,555 L1440,545 L1450,537 L1460,537 L1470,544 L1480,554 L1490,560 L1500,571 L1510,581 L1520,588 L1530,595 L1540,603 L1550,614 L1560,618 L1570,631 L1580,637 L1590,647 L1600,657%22 fill=%22none%22 stroke=%22%2338332e%22 stroke-width=%222.5%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M0,900 L0,620 L10,612 L20,611 L30,604 L40,607 L50,609 L60,611 L70,614 L80,620 L90,621 L100,628 L110,628 L120,631 L130,635 L140,635 L150,631 L160,625 L170,621 L180,617 L190,615 L200,616 L210,617 L220,620 L230,629 L240,632 L250,634 L260,640 L270,643 L280,645 L290,651 L300,657 L310,659 L320,667 L330,670 L340,670 L350,676 L360,680 L370,688 L380,688 L390,696 L400,700 L410,699 L420,709 L430,709 L440,714 L450,719 L460,726 L470,730 L480,729 L490,731 L500,727 L510,728 L520,730 L530,729 L540,728 L550,731 L560,729 L570,728 L580,728 L590,730 L600,726 L610,726 L620,727 L630,730 L640,726 L650,727 L660,728 L670,729 L680,730 L690,727 L700,729 L710,729 L720,724 L730,730 L740,725 L750,726 L760,725 L770,724 L780,724 L790,724 L800,724 L810,726 L820,728 L830,725 L840,728 L850,728 L860,726 L870,729 L880,729 L890,728 L900,725 L910,725 L920,725 L930,727 L940,729 L950,729 L960,726 L970,728 L980,726 L990,727 L1000,729 L1010,727 L1020,731 L1030,731 L1040,726 L1050,732 L1060,726 L1070,728 L1080,727 L1090,731 L1100,733 L1110,733 L1120,732 L1130,730 L1140,723 L1150,717 L1160,712 L1170,707 L1180,703 L1190,695 L1200,686 L1210,684 L1220,676 L1230,672 L1240,667 L1250,656 L1260,650 L1270,646 L1280,638 L1290,634 L1300,631 L1310,623 L1320,618 L1330,611 L1340,606 L1350,609 L1360,608 L1370,604 L1380,592 L1390,583 L1400,579 L1410,568 L1420,560 L1430,555 L1440,545 L1450,537 L1460,537 L1470,544 L1480,554 L1490,560 L1500,571 L1510,581 L1520,588 L1530,595 L1540,603 L1550,614 L1560,618 L1570,631 L1580,637 L1590,647 L1600,657 L1600,900 Z%22 fill=%22%231c1b19%22/%3E%3Cpath d=%22M0,853 L10,848 L20,852 L30,843 L40,841 L50,835 L60,823 L70,813 L80,808 L90,804 L100,793 L110,789 L120,778 L130,774 L140,764 L150,757 L160,747 L170,738 L180,732 L190,729 L200,715 L210,711 L220,702 L230,696 L240,687 L250,679 L260,679 L270,686 L280,691 L290,700 L300,703 L310,710 L320,721 L330,726 L340,733 L350,741 L360,749 L370,754 L380,761 L390,769 L400,776 L410,781 L420,786 L430,797 L440,804 L450,811 L460,819 L470,821 L480,831 L490,836 L500,834 L510,832 L520,838 L530,838 L540,835 L550,835 L560,834 L570,836 L580,834 L590,834 L600,835 L610,834 L620,832 L630,831 L640,829 L650,826 L660,818 L670,818 L680,812 L690,807 L700,802 L710,799 L720,788 L730,787 L740,777 L750,773 L760,768 L770,767 L780,761 L790,753 L800,750 L810,741 L820,741 L830,735 L840,728 L850,725 L860,722 L870,712 L880,707 L890,705 L900,697 L910,693 L920,687 L930,684 L940,679 L950,674 L960,669 L970,663 L980,662 L990,654 L1000,649 L1010,643 L1020,649 L1030,659 L1040,664 L1050,664 L1060,671 L1070,678 L1080,686 L1090,691 L1100,696 L1110,696 L1120,707 L1130,707 L1140,716 L1150,722 L1160,725 L1170,732 L1180,735 L1190,740 L1200,744 L1210,753 L1220,754 L1230,766 L1240,764 L1250,768 L1260,765 L1270,757 L1280,758 L1290,751 L1300,747 L1310,744 L1320,740 L1330,742 L1340,748 L1350,751 L1360,761 L1370,764 L1380,771 L1390,774 L1400,779 L1410,786 L1420,792 L1430,798 L1440,799 L1450,803 L1460,811 L1470,814 L1480,822 L1490,830 L1500,833 L1510,839 L1520,846 L1530,844 L1540,846 L1550,848 L1560,849 L1570,849 L1580,849 L1590,848 L1600,849%22 fill=%22none%22 stroke=%22%23302c27%22 stroke-width=%222.5%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M0,900 L0,853 L10,848 L20,852 L30,843 L40,841 L50,835 L60,823 L70,813 L80,808 L90,804 L100,793 L110,789 L120,778 L130,774 L140,764 L150,757 L160,747 L170,738 L180,732 L190,729 L200,715 L210,711 L220,702 L230,696 L240,687 L250,679 L260,679 L270,686 L280,691 L290,700 L300,703 L310,710 L320,721 L330,726 L340,733 L350,741 L360,749 L370,754 L380,761 L390,769 L400,776 L410,781 L420,786 L430,797 L440,804 L450,811 L460,819 L470,821 L480,831 L490,836 L500,834 L510,832 L520,838 L530,838 L540,835 L550,835 L560,834 L570,836 L580,834 L590,834 L600,835 L610,834 L620,832 L630,831 L640,829 L650,826 L660,818 L670,818 L680,812 L690,807 L700,802 L710,799 L720,788 L730,787 L740,777 L750,773 L760,768 L770,767 L780,761 L790,753 L800,750 L810,741 L820,741 L830,735 L840,728 L850,725 L860,722 L870,712 L880,707 L890,705 L900,697 L910,693 L920,687 L930,684 L940,679 L950,674 L960,669 L970,663 L980,662 L990,654 L1000,649 L1010,643 L1020,649 L1030,659 L1040,664 L1050,664 L1060,671 L1070,678 L1080,686 L1090,691 L1100,696 L1110,696 L1120,707 L1130,707 L1140,716 L1150,722 L1160,725 L1170,732 L1180,735 L1190,740 L1200,744 L1210,753 L1220,754 L1230,766 L1240,764 L1250,768 L1260,765 L1270,757 L1280,758 L1290,751 L1300,747 L1310,744 L1320,740 L1330,742 L1340,748 L1350,751 L1360,761 L1370,764 L1380,771 L1390,774 L1400,779 L1410,786 L1420,792 L1430,798 L1440,799 L1450,803 L1460,811 L1470,814 L1480,822 L1490,830 L1500,833 L1510,839 L1520,846 L1530,844 L1540,846 L1550,848 L1560,849 L1570,849 L1580,849 L1590,848 L1600,849 L1600,900 Z%22 fill=%22%23181715%22/%3E%3Cpath d=%22M0,950 L10,953 L20,951 L30,948 L40,952 L50,945 L60,950 L70,949 L80,948 L90,948 L100,950 L110,947 L120,946 L130,947 L140,942 L150,942 L160,943 L170,943 L180,940 L190,943 L200,940 L210,944 L220,939 L230,943 L240,944 L250,938 L260,944 L270,939 L280,938 L290,937 L300,943 L310,938 L320,938 L330,936 L340,940 L350,935 L360,942 L370,938 L380,938 L390,937 L400,934 L410,938 L420,933 L430,936 L440,937 L450,939 L460,933 L470,935 L480,934 L490,935 L500,931 L510,936 L520,931 L530,933 L540,933 L550,932 L560,931 L570,933 L580,930 L590,930 L600,925 L610,924 L620,913 L630,913 L640,904 L650,897 L660,898 L670,893 L680,886 L690,877 L700,874 L710,868 L720,861 L730,857 L740,850 L750,843 L760,839 L770,836 L780,824 L790,824 L800,817 L810,808 L820,802 L830,801 L840,798 L850,790 L860,781 L870,776 L880,776 L890,765 L900,764 L910,759 L920,764 L930,774 L940,775 L950,778 L960,788 L970,790 L980,794 L990,808 L1000,806 L1010,811 L1020,822 L1030,826 L1040,835 L1050,838 L1060,841 L1070,838 L1080,828 L1090,829 L1100,832 L1110,838 L1120,844 L1130,848 L1140,849 L1150,854 L1160,858 L1170,869 L1180,867 L1190,877 L1200,879 L1210,886 L1220,886 L1230,883 L1240,880 L1250,878 L1260,872 L1270,866 L1280,868 L1290,860 L1300,858 L1310,858 L1320,859 L1330,868 L1340,869 L1350,875 L1360,876 L1370,878 L1380,881 L1390,889 L1400,893 L1410,893 L1420,895 L1430,903 L1440,906 L1450,907 L1460,915 L1470,915 L1480,918 L1490,927 L1500,928 L1510,931 L1520,934 L1530,941 L1540,944 L1550,943 L1560,949 L1570,948 L1580,953 L1590,953 L1600,952%22 fill=%22none%22 stroke=%22%23282521%22 stroke-width=%223%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M0,900 L0,950 L10,953 L20,951 L30,948 L40,952 L50,945 L60,950 L70,949 L80,948 L90,948 L100,950 L110,947 L120,946 L130,947 L140,942 L150,942 L160,943 L170,943 L180,940 L190,943 L200,940 L210,944 L220,939 L230,943 L240,944 L250,938 L260,944 L270,939 L280,938 L290,937 L300,943 L310,938 L320,938 L330,936 L340,940 L350,935 L360,942 L370,938 L380,938 L390,937 L400,934 L410,938 L420,933 L430,936 L440,937 L450,939 L460,933 L470,935 L480,934 L490,935 L500,931 L510,936 L520,931 L530,933 L540,933 L550,932 L560,931 L570,933 L580,930 L590,930 L600,925 L610,924 L620,913 L630,913 L640,904 L650,897 L660,898 L670,893 L680,886 L690,877 L700,874 L710,868 L720,861 L730,857 L740,850 L750,843 L760,839 L770,836 L780,824 L790,824 L800,817 L810,808 L820,802 L830,801 L840,798 L850,790 L860,781 L870,776 L880,776 L890,765 L900,764 L910,759 L920,764 L930,774 L940,775 L950,778 L960,788 L970,790 L980,794 L990,808 L1000,806 L1010,811 L1020,822 L1030,826 L1040,835 L1050,838 L1060,841 L1070,838 L1080,828 L1090,829 L1100,832 L1110,838 L1120,844 L1130,848 L1140,849 L1150,854 L1160,858 L1170,869 L1180,867 L1190,877 L1200,879 L1210,886 L1220,886 L1230,883 L1240,880 L1250,878 L1260,872 L1270,866 L1280,868 L1290,860 L1300,858 L1310,858 L1320,859 L1330,868 L1340,869 L1350,875 L1360,876 L1370,878 L1380,881 L1390,889 L1400,893 L1410,893 L1420,895 L1430,903 L1440,906 L1450,907 L1460,915 L1470,915 L1480,918 L1490,927 L1500,928 L1510,931 L1520,934 L1530,941 L1540,944 L1550,943 L1560,949 L1570,948 L1580,953 L1590,953 L1600,952 L1600,900 Z%22 fill=%22%23141312%22/%3E%3C/svg%3E");
  }
  * { box-sizing: border-box; }
  html, body { min-height: 100%; }
  body {
    font-family: var(--font-body);
    margin: 0; padding: 0;
    color: var(--text);
    background-color: var(--bg-page-1);
    background-image: var(--bg-scene);
    background-size: cover;
    background-position: bottom center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    min-height: 100vh;
    transition: background-color .25s, color .25s;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }
  .container { position: relative; z-index: 1; max-width: 1150px; margin: 50px auto; padding: 0 22px; }
  /* --- Question-form cards (used in /admin/questions and /admin/quizzes) --- */
  .qcard {
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 18px;
    margin-bottom: 14px;
    background: var(--block-bg);
  }
  .qcard-head {
    display: flex; align-items: center; gap: 10px;
    flex-wrap: wrap;
    padding-bottom: 12px;
    margin-bottom: 14px;
    border-bottom: 1px solid var(--line);
  }
  .qcard-head .spacer { flex: 1; }
  .qcard-num {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 34px; height: 30px; padding: 0 10px;
    border-radius: 4px; background: var(--input-bg);
    border: 1px solid var(--line);
    font-family: var(--font-mono);
    font-weight: 700; font-size: 13px; color: var(--text);
  }
  .qfield { margin-bottom: 12px; }
  .qfield:last-child { margin-bottom: 0; }
  .qfield label {
    display: block; font-size: 12px; font-weight: 700;
    letter-spacing: .5px; text-transform: uppercase;
    color: var(--muted); margin-bottom: 6px;
  }
  .qfield .hint { font-size: 12px; color: var(--muted); margin-top: 4px; font-weight: 400; text-transform: none; letter-spacing: 0; }
  .qrow { display: flex; gap: 14px; flex-wrap: wrap; }
  .qrow > .qfield { flex: 1 1 280px; margin-bottom: 12px; }
  .qcard-foot {
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
    padding-top: 12px; margin-top: 6px;
    border-top: 1px solid var(--line);
  }
  .qcard-foot .spacer { flex: 1; }
  .qimg-thumb {
    display: flex; align-items: center; gap: 10px;
    padding: 8px; border: 1px dashed var(--line); border-radius: 8px;
    background: var(--input-bg);
  }
  .qimg-thumb img { max-height: 50px; max-width: 100px; border-radius: 4px; }
  /* Fixed toast for grading feedback (no layout shift) */
  .grade-toast {
    position: fixed;
    top: 18px; right: 18px;
    z-index: 9999;
    padding: 10px 16px;
    border-radius: 6px;
    border: 1px solid var(--line);
    font-weight: 600;
    box-shadow: 0 4px 16px rgba(0,0,0,.12);
    pointer-events: none;
    transition: opacity .15s;
    max-width: 320px;
  }
  .topbar { display: flex; justify-content: space-between; align-items: center;
            margin-bottom: 30px; gap: 12px; flex-wrap: wrap;
            padding-bottom: 16px; border-bottom: 1px solid var(--line); }
  .brand {
    display: flex; align-items: baseline; gap: 10px;
    font-family: var(--font-display);
    font-weight: 700; letter-spacing: .2px; font-size: 17px;
    color: var(--text); margin: 0;
  }
  .brand .dot { width: 9px; height: 9px; border-radius: 2px; background: var(--primary);
    align-self: center; }
  .brand .brand-mark { width: 24px; height: 24px; align-self: center; }
  .site-logo { text-align: center; margin: 36px 0 32px; }
  .site-logo img { width: min(250px, 62vw); height: auto; }
  .site-logo .logo-on-dark { display: none; }
  [data-theme="dark"] .site-logo .logo-on-light { display: none; }
  [data-theme="dark"] .site-logo .logo-on-dark { display: inline-block; }
  .theme-toggle {
    cursor: pointer; background: transparent; border: 1px solid var(--line);
    color: var(--muted); padding: 7px 14px; border-radius: 6px;
    font-size: 13px; font-weight: 600; letter-spacing: .3px;
    transition: border-color .15s, color .15s;
  }
  .theme-toggle:hover { border-color: var(--muted); color: var(--text); }
  .card {
    position: relative;
    background: var(--bg-1);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 30px;
    box-shadow: var(--shadow-card);
    margin-bottom: 22px;
  }
  h1 { margin: 0 0 6px; font-family: var(--font-display); font-size: 28px; font-weight: 700; letter-spacing: -.2px; }
  h2 { margin: 0 0 6px; font-family: var(--font-display); font-size: 21px; font-weight: 700; letter-spacing: -.1px; }
  label { display: block; font-weight: 600; margin: 14px 0 6px; color: var(--muted);
    font-size: 11.5px; letter-spacing: .8px; text-transform: uppercase; }
  input[type=text], select, textarea {
    width: 100%; padding: 11px 14px;
    border: 1px solid var(--line);
    border-radius: 6px; font-size: 15px;
    background: var(--input-bg); color: var(--text);
    transition: border-color .15s, box-shadow .15s;
    font-family: inherit;
    box-sizing: border-box;
  }
  textarea {
    resize: vertical;
    min-height: 90px;
    font-family: var(--font-mono);
    font-size: 13.5px;
    line-height: 1.5;
    white-space: pre;
    tab-size: 4;
  }
  textarea.q-text {
    white-space: pre-wrap;
    font-family: inherit;
    font-size: 15px;
    min-height: 60px;
  }
  input[type=text]:focus, select:focus, textarea:focus {
    outline: 0; border-color: var(--primary);
    box-shadow: 0 0 0 3px var(--primary-glow);
  }
  button, .btn {
    cursor: pointer; border: 1px solid transparent;
    padding: 10px 18px; border-radius: 6px;
    font-size: 14px; font-weight: 600; letter-spacing: .2px;
    color: #fff; text-decoration: none; display: inline-block;
    background: var(--primary);
    transition: background-color .12s, border-color .12s, color .12s;
  }
  button:hover, .btn:hover { background: var(--primary-2); }
  button:active, .btn:active { background: var(--primary-2); }
  button:focus-visible, .btn:focus-visible, .btn-ghost:focus-visible {
    outline: 2px solid var(--primary); outline-offset: 2px; }
  .btn-danger  { background: #b42318; }
  .btn-danger:hover { background: #8f1c13; }
  .btn-success { background: var(--green); }
  .btn-success:hover { background: var(--green); filter: brightness(.9); }
  .btn-ghost   { background: var(--bg-1); border-color: var(--line); color: var(--text); }
  .btn-ghost:hover { background: var(--ghost-bg); border-color: var(--muted); color: var(--text); }
  table { width: 100%; border-collapse: collapse; }
  th, td { padding: 12px 12px; border-bottom: 1px solid var(--line);
           text-align: left; vertical-align: middle; }
  th { font-size: 11px; text-transform: uppercase; letter-spacing: .8px;
       color: var(--muted); font-weight: 600; background: var(--th-bg);
       border-top: 1px solid var(--line); }
  tr:hover td { background: var(--row-hover); }
  .badge {
    display: inline-block; padding: 4px 9px; border-radius: 4px;
    font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .6px;
    border: 1px solid;
  }
  .badge-wait { background: rgba(154,103,0,.08); color: var(--amber); border-color: rgba(154,103,0,.35); }
  .badge-run  { background: rgba(26,127,75,.08); color: var(--green); border-color: rgba(26,127,75,.35); }
  .muted { color: var(--muted); font-size: 14px; }
  .row { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
  .header { display: flex; justify-content: space-between; align-items: center;
            gap: 14px; margin-bottom: 22px; flex-wrap: wrap; }
  .alert { padding: 12px 15px; border-radius: 6px; margin-bottom: 16px;
           border: 1px solid; font-size: 14px; }
  .alert-err { background: rgba(166,61,75,.14); color: #d08b95; border-color: rgba(166,61,75,.45); }
  .alert-ok  { background: rgba(76,175,122,.10); color: #4caf7a; border-color: rgba(76,175,122,.35); }
  .alert-warn { background: rgba(201,151,59,.12); color: #c9973b; border-color: rgba(201,151,59,.4); }
  [data-theme="light"] .alert-err { background: #f9ecec; color: #8a1e2d; border-color: #e3c6c6; }
  [data-theme="light"] .alert-ok  { background: #e9f4ee; color: #14603a; border-color: #bcdccb; }
  [data-theme="light"] .alert-warn { background: #f8f1df; color: #7a5200; border-color: #e5d4ab; }
  form.inline { display: inline; }
  .pid { font-family: var(--font-mono);
         background: var(--primary-soft); color: var(--primary-2);
         border: 1px solid var(--primary-2);
         padding: 3px 9px; border-radius: 4px; font-size: 13px; }
  .spinner {
    width: 48px; height: 48px; margin: 18px auto;
    border: 2px solid var(--line); border-top-color: var(--primary);
    border-radius: 50%; animation: spin 1s linear infinite;
  }
  @keyframes spin { to { transform: rotate(360deg) } }
  a { color: var(--primary-text); }

  /* ==================== Academy color schemes (/ressources) ====================
     Accent color per academy (buttons, links, hover, focus ring derive from it): */
  :root, [data-theme="light"] {
    --acad-cyber:   #A12525;  /* Cybersecurity Academy - red   */
    --acad-ai:      #00753E;  /* AI Academy            - green */
    --acad-quantum: #3F1CA6;  /* Quantum Academy       - blue  */
  }
  [data-theme="dark"] {
    --acad-cyber:   #A12525;  /* slightly brighter on dark backgrounds */
    --acad-ai:      #00753E;
    --acad-quantum: #3F1CA6;
  }
  body[data-academy="cyber"], body[data-academy="ai"], body[data-academy="quantum"] {
    --primary: var(--academy);
    --primary-2: color-mix(in srgb, var(--academy) 80%, #000);
    --primary-text: var(--academy);
    --primary-glow: color-mix(in srgb, var(--academy) 18%, transparent);
    --primary-border: color-mix(in srgb, var(--academy) 38%, transparent);
    --primary-soft: color-mix(in srgb, var(--academy) 8%, transparent);
  }
  /* Colored square on each academy toggle button */
  .acad-dot { display: inline-block; width: 8px; height: 8px; border-radius: 2px;
    margin-right: 7px; }
  .acad-dot-cyber   { background: var(--acad-cyber); }
  .acad-dot-ai      { background: var(--acad-ai); }
  .acad-dot-quantum { background: var(--acad-quantum); }
  .btn:not(.btn-ghost) .acad-dot { background: rgba(255,255,255,.85); }

  /* -------------------- Full palette per academy --------------------
     Every theme color of an academy page can be changed below, per mode.
     Values start identical to the global theme — edit any of them freely.
     (You can also add --primary, --primary-text, … here to override the accent.) */

  /* ----- Cybersecurity Academy ----- */
  body[data-academy="cyber"] {            /* light mode */
    --academy: var(--acad-cyber);
    --bg-page-1: #F2EBEB; --bg-page-2: #f5f3ee;
    --bg-1: #ffffff;      --bg-2: #ffffff;
    --line: #e1ddd2;      --text: #1d1b16;    --muted: #6f6a5f;
    --input-bg: #fdfcfa;  --ghost-bg: #f1efe8;
    --row-hover: rgba(138,30,45,.035);        --th-bg: #f7f5f0;
    --green: #1a7f4b;     --amber: #9a6700;
    --block-bg: #fbfaf6;  --block-border: var(--line);
    --bad-bg: #f9ecec;    --bad-text: #AB4FFF; --bad-border: #e3c6c6;
    --code-bg: #14120f;   --code-text: #e8e5de;
  }
  [data-theme="dark"] body[data-academy="cyber"] {
    --bg-page-1: #261515; --bg-page-2: #131211;
    --bg-1: #1b1a18;      --bg-2: #1b1a18;
    --line: #2d2b27;      --text: #e8e5de;    --muted: #98938a;
    --input-bg: #131211;  --ghost-bg: #232220;
    --row-hover: rgba(255,255,255,.03);       --th-bg: #181716;
    --green: #4caf7a;     --amber: #c9973b;
    --block-bg: #181716;  --block-border: var(--line);
    --bad-bg: rgba(166,61,75,.14); --bad-text: #d08b95; --bad-border: rgba(166,61,75,.45);
    --code-bg: #0b0a09;   --code-text: #e8e5de;
  }

  /* ----- AI Academy ----- */
  body[data-academy="ai"] {               /* light mode */
    --academy: var(--acad-ai);
    --bg-page-1: #E6F0E9; --bg-page-2: #f5f3ee;
    --bg-1: #ffffff;      --bg-2: #ffffff;
    --line: #e1ddd2;      --text: #1d1b16;    --muted: #6f6a5f;
    --input-bg: #fdfcfa;  --ghost-bg: #f1efe8;
    --row-hover: rgba(138,30,45,.035);        --th-bg: #f7f5f0;
    --green: #1a7f4b;     --amber: #9a6700;
    --block-bg: #fbfaf6;  --block-border: var(--line);
    --bad-bg: #f9ecec;    --bad-text: #AB4FFF; --bad-border: #e3c6c6;
    --code-bg: #14120f;   --code-text: #e8e5de;
  }
  [data-theme="dark"] body[data-academy="ai"] {
    --bg-page-1: #122417; --bg-page-2: #131211;
    --bg-1: #1b1a18;      --bg-2: #1b1a18;
    --line: #2d2b27;      --text: #e8e5de;    --muted: #98938a;
    --input-bg: #131211;  --ghost-bg: #232220;
    --row-hover: rgba(255,255,255,.03);       --th-bg: #181716;
    --green: #4caf7a;     --amber: #c9973b;
    --block-bg: #181716;  --block-border: var(--line);
    --bad-bg: rgba(166,61,75,.14); --bad-text: #d08b95; --bad-border: rgba(166,61,75,.45);
    --code-bg: #0b0a09;   --code-text: #e8e5de;
  }

  /* ----- Quantum Academy ----- */
  body[data-academy="quantum"] {          /* light mode */
    --academy: var(--acad-quantum);
    --bg-page-1: #EBECF5; --bg-page-2: #f5f3ee;
    --bg-1: #ffffff;      --bg-2: #ffffff;
    --line: #e1ddd2;      --text: #1d1b16;    --muted: #6f6a5f;
    --input-bg: #fdfcfa;  --ghost-bg: #f1efe8;
    --row-hover: rgba(138,30,45,.035);        --th-bg: #f7f5f0;
    --green: #1a7f4b;     --amber: #9a6700;
    --block-bg: #fbfaf6;  --block-border: var(--line);
    --bad-bg: #f9ecec;    --bad-text: #AB4FFF; --bad-border: #e3c6c6;
    --code-bg: #14120f;   --code-text: #e8e5de;
  }
  [data-theme="dark"] body[data-academy="quantum"] {
    --bg-page-1: #1E1F38; --bg-page-2: #131211;
    --bg-1: #1b1a18;      --bg-2: #1b1a18;
    --line: #2d2b27;      --text: #e8e5de;    --muted: #98938a;
    --input-bg: #131211;  --ghost-bg: #232220;
    --row-hover: rgba(255,255,255,.03);       --th-bg: #181716;
    --green: #4caf7a;     --amber: #c9973b;
    --block-bg: #181716;  --block-border: var(--line);
    --bad-bg: rgba(166,61,75,.14); --bad-text: #d08b95; --bad-border: rgba(166,61,75,.45);
    --code-bg: #0b0a09;   --code-text: #e8e5de;
  }

/* ============ KATEX (LaTeX math) ============
   Math must keep its own casing/spacing even inside
   uppercase-transformed labels (quiz choices, headings). */
.katex { text-transform: none; letter-spacing: normal; }
.katex-display { margin: 10px 0; }

/* ============ INLINE CODE (`backticks` in questions) ============ */
code {
  font-family: var(--font-mono);
  font-size: .92em;
  background: var(--code-bg);
  color: var(--code-text);
  padding: 1px 6px;
  border-radius: 6px;
  text-transform: none;
  letter-spacing: normal;
  white-space: pre-wrap;
}
/* ``` fenced block ``` in questions */
code.codeblock {
  display: block;
  white-space: pre;
  overflow-x: auto;
  padding: 10px 14px;
  margin: 8px 0;
  border-radius: 8px;
  line-height: 1.55;
}

/* Overview sidebar labels: full question text (KaTeX + code rendered)
   clipped to one line — code blocks forced inline (math.js renders
   sidebar math inline-style). */
.qs-text { white-space: nowrap; }
.qs-text .codeblock { display: inline; white-space: nowrap; padding: 1px 6px; margin: 0; }
