@superbuilders/incept-renderer 0.1.11 → 0.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -653,6 +653,26 @@
653
653
  padding: 0.5rem 1rem;
654
654
  border: 1px solid currentColor;
655
655
  }
656
+ .qti-html-content menclose[notation=top],
657
+ .qti-html-content .tml-overline,
658
+ menclose[notation=top],
659
+ .tml-overline {
660
+ border-top: 0.07em solid currentColor;
661
+ padding-top: 0.12em;
662
+ margin-right: 0.1em;
663
+ }
664
+ .qti-html-content mover > mo[stretchy=true],
665
+ mover > mo[stretchy=true] {
666
+ transform: scaleX(1.3);
667
+ }
668
+ .qti-html-content math mi,
669
+ .qti-html-content math mn,
670
+ .qti-html-content math mtext,
671
+ math mi,
672
+ math mn,
673
+ math mtext {
674
+ font-weight: 600;
675
+ }
656
676
  .qti-image-grid {
657
677
  display: grid;
658
678
  gap: var(--qti-grid-gap);
@@ -729,4 +749,221 @@
729
749
  max-height: calc(var(--qti-image-max-height) * 1.5);
730
750
  }
731
751
  }
752
+ .qti-stimulus-body {
753
+ font-family: var(--qti-font-family, inherit);
754
+ font-size: 1.125rem;
755
+ line-height: 1.75;
756
+ color: var(--foreground, #171717);
757
+ }
758
+ .qti-stimulus-body h1 {
759
+ display: block;
760
+ font-size: 2rem;
761
+ font-weight: 800;
762
+ margin-top: 0;
763
+ margin-bottom: 1.25rem;
764
+ line-height: 1.2;
765
+ color: var(--foreground, #171717);
766
+ }
767
+ .qti-stimulus-body h2 {
768
+ display: block;
769
+ font-size: 1.625rem;
770
+ font-weight: 700;
771
+ margin-top: 2rem;
772
+ margin-bottom: 1rem;
773
+ line-height: 1.25;
774
+ color: var(--foreground, #171717);
775
+ }
776
+ .qti-stimulus-body h3 {
777
+ display: block;
778
+ font-size: 1.375rem;
779
+ font-weight: 600;
780
+ margin-top: 1.75rem;
781
+ margin-bottom: 0.75rem;
782
+ line-height: 1.3;
783
+ color: var(--foreground, #171717);
784
+ }
785
+ .qti-stimulus-body h4,
786
+ .qti-stimulus-body h5,
787
+ .qti-stimulus-body h6 {
788
+ display: block;
789
+ font-size: 1.125rem;
790
+ font-weight: 600;
791
+ margin-top: 1.5rem;
792
+ margin-bottom: 0.5rem;
793
+ line-height: 1.4;
794
+ color: var(--foreground, #171717);
795
+ }
796
+ .qti-stimulus-body > h1:first-child,
797
+ .qti-stimulus-body > h2:first-child,
798
+ .qti-stimulus-body > h3:first-child {
799
+ margin-top: 0;
800
+ }
801
+ .qti-stimulus-body p {
802
+ display: block;
803
+ margin-top: 0;
804
+ margin-bottom: 1.25rem;
805
+ }
806
+ .qti-stimulus-body ul,
807
+ .qti-stimulus-body ol {
808
+ display: block;
809
+ margin-top: 0.75rem;
810
+ margin-bottom: 1.5rem;
811
+ padding-left: 2rem;
812
+ }
813
+ .qti-stimulus-body ul {
814
+ list-style-type: disc;
815
+ }
816
+ .qti-stimulus-body ol {
817
+ list-style-type: decimal;
818
+ }
819
+ .qti-stimulus-body li {
820
+ display: list-item;
821
+ margin-bottom: 0.625rem;
822
+ line-height: 1.7;
823
+ padding-left: 0.25rem;
824
+ }
825
+ .qti-stimulus-body li:last-child {
826
+ margin-bottom: 0;
827
+ }
828
+ .qti-stimulus-body ul ul,
829
+ .qti-stimulus-body ol ul {
830
+ list-style-type: circle;
831
+ margin-top: 0.5rem;
832
+ margin-bottom: 0.5rem;
833
+ }
834
+ .qti-stimulus-body ul ul ul,
835
+ .qti-stimulus-body ol ul ul {
836
+ list-style-type: square;
837
+ }
838
+ .qti-stimulus-body strong,
839
+ .qti-stimulus-body b {
840
+ font-weight: 700;
841
+ }
842
+ .qti-stimulus-body em,
843
+ .qti-stimulus-body i {
844
+ font-style: italic;
845
+ }
846
+ .qti-stimulus-body a {
847
+ color: var(--color-macaw, oklch(0.7181 0.1513 237.07));
848
+ text-decoration: underline;
849
+ text-underline-offset: 3px;
850
+ text-decoration-thickness: 2px;
851
+ font-weight: 500;
852
+ transition: color 0.15s ease;
853
+ }
854
+ .qti-stimulus-body a:hover {
855
+ color: var(--color-whale, oklch(0.55 0.15 237.07));
856
+ text-decoration-thickness: 2px;
857
+ }
858
+ .qti-stimulus-body figure {
859
+ display: block;
860
+ margin: 2rem auto;
861
+ padding: 0;
862
+ max-width: 100%;
863
+ text-align: center;
864
+ }
865
+ .qti-stimulus-body figure img {
866
+ display: block;
867
+ max-width: 100%;
868
+ height: auto;
869
+ margin: 0 auto;
870
+ }
871
+ .qti-stimulus-body figcaption {
872
+ display: block;
873
+ margin-top: 1rem;
874
+ padding: 0 1rem;
875
+ font-size: 0.9375rem;
876
+ color: var(--muted-foreground, #737373);
877
+ text-align: center;
878
+ line-height: 1.6;
879
+ }
880
+ .qti-stimulus-body figcaption em {
881
+ font-style: normal;
882
+ }
883
+ .qti-stimulus-body figcaption a {
884
+ color: var(--color-macaw, oklch(0.7181 0.1513 237.07));
885
+ text-decoration: underline;
886
+ text-underline-offset: 2px;
887
+ text-decoration-thickness: 1px;
888
+ font-weight: 500;
889
+ }
890
+ .qti-stimulus-body figcaption a:hover {
891
+ color: var(--color-whale, oklch(0.55 0.15 237.07));
892
+ }
893
+ .qti-stimulus-body blockquote {
894
+ display: block;
895
+ margin: 1.5rem 0;
896
+ padding: 1rem 1.5rem;
897
+ border-left: 4px solid var(--color-macaw, oklch(0.7181 0.1513 237.07));
898
+ background: var(--muted, #f4f4f5);
899
+ border-radius: 0 0.75rem 0.75rem 0;
900
+ }
901
+ .qti-stimulus-body blockquote p:last-child {
902
+ margin-bottom: 0;
903
+ }
904
+ .qti-stimulus-body td img {
905
+ max-width: 150px;
906
+ max-height: 100px;
907
+ margin: 0;
908
+ }
909
+ .qti-stimulus-body code {
910
+ font-family:
911
+ ui-monospace,
912
+ SFMono-Regular,
913
+ "SF Mono",
914
+ Menlo,
915
+ Monaco,
916
+ Consolas,
917
+ monospace;
918
+ font-size: 0.875em;
919
+ padding: 0.125rem 0.375rem;
920
+ background: var(--muted, #f4f4f5);
921
+ border-radius: 0.25rem;
922
+ }
923
+ .qti-stimulus-body pre {
924
+ display: block;
925
+ margin: 1.5rem 0;
926
+ padding: 1rem;
927
+ background: var(--muted, #f4f4f5);
928
+ border-radius: 0.5rem;
929
+ overflow-x: auto;
930
+ }
931
+ .qti-stimulus-body pre code {
932
+ padding: 0;
933
+ background: none;
934
+ }
935
+ .qti-stimulus-body details {
936
+ display: block;
937
+ margin: 1.5rem 0;
938
+ padding: 0;
939
+ border: 1px solid var(--border, #e5e5e5);
940
+ border-radius: 0.75rem;
941
+ overflow: hidden;
942
+ }
943
+ .qti-stimulus-body details[open] {
944
+ background: var(--muted, #f4f4f5);
945
+ }
946
+ .qti-stimulus-body summary {
947
+ display: list-item;
948
+ padding: 1rem 1.25rem;
949
+ font-weight: 600;
950
+ cursor: pointer;
951
+ background: var(--muted, #f4f4f5);
952
+ transition: background 0.15s ease;
953
+ }
954
+ .qti-stimulus-body summary:hover {
955
+ background: var(--accent, #e5e5e5);
956
+ }
957
+ .qti-stimulus-body details[open] summary {
958
+ border-bottom: 1px solid var(--border, #e5e5e5);
959
+ }
960
+ .qti-stimulus-body details > *:not(summary) {
961
+ padding: 0 1.25rem;
962
+ }
963
+ .qti-stimulus-body details > p:first-of-type {
964
+ margin-top: 1rem;
965
+ }
966
+ .qti-stimulus-body details > *:last-child {
967
+ margin-bottom: 1rem;
968
+ }
732
969
  /*# sourceMappingURL=themes.css.map */
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/styles/themes.css"],"sourcesContent":["/* ============================================\n QTI THEME SYSTEM\n ============================================ */\n\n/* QTI Theme Variables - Defaults */\n:root {\n\t/* QTI Container */\n\t--qti-container-bg: var(--background, #ffffff);\n\t--qti-container-border: var(--border, #e5e5e5);\n\t--qti-container-radius: var(--radius-xs, 0.25rem);\n\t--qti-container-shadow: none;\n\t--qti-container-border-width: 2px;\n\n\t/* QTI Typography */\n\t--qti-font-family: inherit;\n\t--qti-font-weight: 500;\n\t--qti-tracking: normal;\n\n\t/* QTI Feedback - Neutral (same for correct/incorrect) */\n\t--qti-feedback-bg: var(--background, #ffffff);\n\t--qti-feedback-border: var(--border, #e5e5e5);\n\t--qti-feedback-correct-text: var(--foreground, #171717);\n\t--qti-feedback-correct-icon-bg: #22c55e;\n\t--qti-feedback-incorrect-text: var(--foreground, #171717);\n\t--qti-feedback-incorrect-icon-bg: #ef4444;\n\n\t/* QTI Choice */\n\t--qti-choice-bg: var(--background, #ffffff);\n\t--qti-choice-border: var(--accent, #f4f4f5);\n\t--qti-choice-hover-bg: var(--muted, #f4f4f5);\n\t--qti-choice-selected-bg: oklch(0.9 0.1 220 / 0.3);\n\t--qti-choice-selected-border: oklch(0.6 0.2 250);\n\t--qti-choice-correct-bg: oklch(0.9 0.15 140 / 0.3);\n\t--qti-choice-correct-border: #22c55e;\n\t--qti-choice-incorrect-bg: oklch(0.9 0.1 25 / 0.3);\n\t--qti-choice-incorrect-border: #ef4444;\n\n\t/* QTI Button */\n\t--qti-button-bg: var(--primary, #18181b);\n\t--qti-button-text: var(--primary-foreground, #ffffff);\n\t--qti-button-border: var(--primary, #18181b);\n\t--qti-button-shadow: none;\n\t--qti-button-radius: var(--radius-xs, 0.25rem);\n\t--qti-button-font-weight: 700;\n\n\t/* QTI Input (text entry, textarea, select/dropdown) */\n\t--qti-input-bg: var(--background, #ffffff);\n\t--qti-input-border: var(--border, #e5e5e5);\n\t--qti-input-border-width: 2px;\n\t--qti-input-radius: var(--radius-xs, 0.25rem);\n\t--qti-input-shadow: none;\n\t--qti-input-focus-border: var(--ring, #2563eb);\n\t--qti-input-focus-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2);\n\t--qti-input-correct-border: #22c55e;\n\t--qti-input-incorrect-border: #ef4444;\n\n\t/* QTI Choice Indicator (radio/checkbox circle) */\n\t--qti-indicator-size: 1.5rem;\n\t--qti-indicator-bg: var(--background, #ffffff);\n\t--qti-indicator-border: var(--border, #d4d4d8);\n\t--qti-indicator-border-width: 2px;\n\t--qti-indicator-radius: var(--radius-xs, 0.25rem);\n\t--qti-indicator-checked-bg: var(--primary, #18181b);\n\t--qti-indicator-checked-border: var(--primary, #18181b);\n\t--qti-indicator-checked-text: var(--primary-foreground, #ffffff);\n\n\t/* QTI Progress Bar */\n\t--qti-progress-bg: var(--muted, #f4f4f5);\n\t--qti-progress-fill: var(--primary, #18181b);\n\t--qti-progress-height: 0.5rem;\n\t--qti-progress-radius: var(--radius-xs, 0.25rem);\n\t--qti-progress-border: transparent;\n\t--qti-progress-border-width: 0px;\n\n\t/* QTI HTML Content (question text, prompts) */\n\t--qti-content-font-size: 1.125rem;\n\t--qti-content-line-height: 1.625;\n\t--qti-content-font-weight: 500;\n\n\t/* QTI Image Grid */\n\t--qti-grid-gap: 1rem;\n\t--qti-image-card-min-height: 180px;\n\t--qti-image-card-padding: 0;\n\t--qti-image-max-height: 160px;\n\n\t/* QTI Order Interaction (drag-and-drop sorting) */\n\t--qti-order-container-bg: var(--muted, #f4f4f5);\n\t--qti-order-container-border: transparent;\n\t--qti-order-container-border-width: 2px;\n\t--qti-order-container-radius: var(--radius-xs, 0.25rem);\n\t--qti-order-container-padding: 1rem;\n\t--qti-order-container-gap: 0.5rem;\n\t--qti-order-container-correct-bg: oklch(0.9 0.15 140 / 0.2);\n\t--qti-order-container-correct-border: #22c55e;\n\t--qti-order-container-incorrect-bg: oklch(0.9 0.1 25 / 0.2);\n\t--qti-order-container-incorrect-border: #ef4444;\n\n\t/* QTI Order Item (individual drag tokens) */\n\t--qti-order-item-bg: var(--background, #ffffff);\n\t--qti-order-item-border: var(--border, #e5e5e5);\n\t--qti-order-item-border-width: 1px;\n\t--qti-order-item-radius: var(--radius-xs, 0.25rem);\n\t--qti-order-item-padding: 1rem;\n\t--qti-order-item-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n\t--qti-order-item-hover-border: oklch(0.6 0.2 250);\n\t--qti-order-item-hover-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n\t--qti-order-item-dragging-border: oklch(0.6 0.2 250);\n\t--qti-order-item-dragging-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);\n\t--qti-order-item-handle-color: var(--muted-foreground, #71717a);\n}\n\n/* Dark mode adjustments for default theme */\n.dark {\n\t--qti-choice-selected-bg: oklch(0.3 0.05 228 / 0.4);\n\t--qti-choice-correct-bg: oklch(0.25 0.05 140 / 0.4);\n\t--qti-choice-incorrect-bg: oklch(0.25 0.05 25 / 0.4);\n\t--qti-input-focus-shadow: 0 0 0 2px rgba(96, 165, 250, 0.3);\n}\n\n/* ============================================\n NEOBRUTALIST THEME\n ============================================ */\n\n[data-qti-theme=\"neobrutalist\"] {\n\t/* Container */\n\t--qti-container-bg: #ffffff;\n\t--qti-container-border: #000000;\n\t--qti-container-radius: 0px;\n\t--qti-container-shadow: 8px 8px 0px 0px rgba(0, 0, 0, 1);\n\t--qti-container-border-width: 4px;\n\n\t/* Typography */\n\t--qti-font-family: ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, monospace;\n\t--qti-font-weight: 700;\n\t--qti-tracking: -0.025em;\n\n\t/* Feedback - Neutral white background */\n\t--qti-feedback-bg: #ffffff;\n\t--qti-feedback-border: #000000;\n\t--qti-feedback-correct-text: #000000;\n\t--qti-feedback-correct-icon-bg: #00ff00;\n\t--qti-feedback-incorrect-text: #000000;\n\t--qti-feedback-incorrect-icon-bg: #ff0000;\n\n\t/* Choice */\n\t--qti-choice-bg: #ffffff;\n\t--qti-choice-border: #000000;\n\t--qti-choice-hover-bg: #f0f0f0;\n\t--qti-choice-selected-bg: #a8e6cf;\n\t--qti-choice-selected-border: #000000;\n\t--qti-choice-correct-bg: #bfff00;\n\t--qti-choice-correct-border: #000000;\n\t--qti-choice-incorrect-bg: #ff6b6b;\n\t--qti-choice-incorrect-border: #000000;\n\n\t/* Button (Hot Pink) */\n\t--qti-button-bg: #ff90e8;\n\t--qti-button-text: #000000;\n\t--qti-button-border: #000000;\n\t--qti-button-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 1);\n\t--qti-button-radius: 0px;\n\t--qti-button-font-weight: 900;\n\n\t/* Input (text entry, textarea, select) */\n\t--qti-input-bg: #ffffff;\n\t--qti-input-border: #000000;\n\t--qti-input-border-width: 3px;\n\t--qti-input-radius: 0px;\n\t--qti-input-shadow: 3px 3px 0px 0px rgba(0, 0, 0, 1);\n\t--qti-input-focus-border: #000000;\n\t--qti-input-focus-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1);\n\t--qti-input-correct-border: #00ff00;\n\t--qti-input-incorrect-border: #ff0000;\n\n\t/* Choice Indicator (radio/checkbox) */\n\t--qti-indicator-border: #000000;\n\t--qti-indicator-border-width: 3px;\n\t--qti-indicator-radius: 0px;\n\t--qti-indicator-checked-bg: #000000;\n\t--qti-indicator-checked-border: #000000;\n\n\t/* Progress Bar */\n\t--qti-progress-bg: #ffffff;\n\t--qti-progress-fill: #ff90e8;\n\t--qti-progress-radius: 0px;\n\t--qti-progress-border: #000000;\n\t--qti-progress-border-width: 2px;\n\n\t/* Order Interaction */\n\t--qti-order-container-bg: #f0f0f0;\n\t--qti-order-container-border: #000000;\n\t--qti-order-container-border-width: 4px;\n\t--qti-order-container-radius: 0px;\n\t--qti-order-container-correct-bg: #bfff00;\n\t--qti-order-container-correct-border: #000000;\n\t--qti-order-container-incorrect-bg: #ff6b6b;\n\t--qti-order-container-incorrect-border: #000000;\n\n\t/* Order Item (drag tokens) */\n\t--qti-order-item-bg: #ffffff;\n\t--qti-order-item-border: #000000;\n\t--qti-order-item-border-width: 3px;\n\t--qti-order-item-radius: 0px;\n\t--qti-order-item-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 1);\n\t--qti-order-item-hover-border: #000000;\n\t--qti-order-item-hover-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1);\n\t--qti-order-item-dragging-border: #000000;\n\t--qti-order-item-dragging-shadow: 6px 6px 0px 0px rgba(0, 0, 0, 1);\n\t--qti-order-item-handle-color: #000000;\n}\n\n/* Neobrutalist dark mode */\n.dark[data-qti-theme=\"neobrutalist\"],\n[data-qti-theme=\"neobrutalist\"] .dark {\n\t--qti-container-bg: #1a1a2e;\n\t--qti-container-border: #ffffff;\n\t--qti-container-shadow: 8px 8px 0px 0px rgba(255, 255, 255, 0.8);\n\n\t--qti-feedback-bg: #1a1a2e;\n\t--qti-feedback-border: #ffffff;\n\t--qti-feedback-correct-text: #bfff00;\n\t--qti-feedback-incorrect-text: #ff6b6b;\n\n\t--qti-choice-bg: #1a1a2e;\n\t--qti-choice-border: #ffffff;\n\t--qti-choice-hover-bg: #2a2a4e;\n\t--qti-choice-selected-bg: #2d5a27;\n\t--qti-choice-selected-border: #bfff00;\n\t--qti-choice-correct-bg: #2d5a27;\n\t--qti-choice-correct-border: #bfff00;\n\t--qti-choice-incorrect-bg: #5a2727;\n\t--qti-choice-incorrect-border: #ff6b6b;\n\n\t--qti-button-bg: #ff90e8;\n\t--qti-button-text: #000000;\n\t--qti-button-border: #ffffff;\n\t--qti-button-shadow: 4px 4px 0px 0px rgba(255, 255, 255, 0.8);\n\n\t/* Input dark mode */\n\t--qti-input-bg: #1a1a2e;\n\t--qti-input-border: #ffffff;\n\t--qti-input-shadow: 3px 3px 0px 0px rgba(255, 255, 255, 0.8);\n\t--qti-input-focus-shadow: 2px 2px 0px 0px rgba(255, 255, 255, 0.8);\n\t--qti-input-correct-border: #bfff00;\n\t--qti-input-incorrect-border: #ff6b6b;\n\n\t/* Choice indicator dark mode */\n\t--qti-indicator-bg: #1a1a2e;\n\t--qti-indicator-border: #ffffff;\n\t--qti-indicator-checked-bg: #ffffff;\n\t--qti-indicator-checked-text: #000000;\n\n\t/* Progress bar dark mode */\n\t--qti-progress-bg: #1a1a2e;\n\t--qti-progress-border: #ffffff;\n\n\t/* Order interaction dark mode */\n\t--qti-order-container-bg: #2a2a4e;\n\t--qti-order-container-border: #ffffff;\n\t--qti-order-container-correct-bg: #2d5a27;\n\t--qti-order-container-correct-border: #bfff00;\n\t--qti-order-container-incorrect-bg: #5a2727;\n\t--qti-order-container-incorrect-border: #ff6b6b;\n\n\t/* Order item dark mode */\n\t--qti-order-item-bg: #1a1a2e;\n\t--qti-order-item-border: #ffffff;\n\t--qti-order-item-shadow: 4px 4px 0px 0px rgba(255, 255, 255, 0.8);\n\t--qti-order-item-hover-shadow: 2px 2px 0px 0px rgba(255, 255, 255, 0.8);\n\t--qti-order-item-dragging-shadow: 6px 6px 0px 0px rgba(255, 255, 255, 0.8);\n\t--qti-order-item-handle-color: #ffffff;\n}\n\n/* ============================================\n QTI COMPONENT STYLES\n ============================================ */\n\n/* QTI Container wrapper */\n.qti-container {\n\tfont-family: var(--qti-font-family);\n\tfont-weight: var(--qti-font-weight);\n\tletter-spacing: var(--qti-tracking);\n}\n\n/* QTI Card/Panel */\n.qti-card {\n\tbackground: var(--qti-container-bg);\n\tborder: var(--qti-container-border-width) solid var(--qti-container-border);\n\tborder-radius: var(--qti-container-radius);\n\tbox-shadow: var(--qti-container-shadow);\n}\n\n/* QTI Feedback Block */\n.qti-feedback {\n\tborder-width: var(--qti-container-border-width);\n\tborder-radius: var(--qti-container-radius);\n\tfont-family: var(--qti-font-family);\n\tbackground: var(--qti-feedback-bg);\n\tborder-color: var(--qti-feedback-border);\n\tmargin-top: 1.5rem;\n}\n\n.qti-feedback[data-correct=\"true\"] {\n\tcolor: var(--qti-feedback-correct-text);\n}\n\n.qti-feedback[data-correct=\"false\"] {\n\tcolor: var(--qti-feedback-incorrect-text);\n}\n\n.qti-feedback-icon[data-correct=\"true\"] {\n\tbackground: var(--qti-feedback-correct-icon-bg);\n}\n\n.qti-feedback-icon[data-correct=\"false\"] {\n\tbackground: var(--qti-feedback-incorrect-icon-bg);\n}\n\n/* QTI Choice Field */\n.qti-choice {\n\tbackground: var(--qti-choice-bg);\n\tborder: var(--qti-container-border-width) solid var(--qti-choice-border);\n\tborder-radius: var(--qti-container-radius);\n\ttransition: all 0.15s ease;\n}\n\n.qti-choice:hover:not([data-disabled=\"true\"]) {\n\tbackground: var(--qti-choice-hover-bg);\n}\n\n.qti-choice[data-selected=\"true\"] {\n\tbackground: var(--qti-choice-selected-bg);\n\tborder-color: var(--qti-choice-selected-border);\n}\n\n.qti-choice[data-correct=\"true\"] {\n\tbackground: var(--qti-choice-correct-bg);\n\tborder-color: var(--qti-choice-correct-border);\n}\n\n.qti-choice[data-correct=\"false\"] {\n\tbackground: var(--qti-choice-incorrect-bg);\n\tborder-color: var(--qti-choice-incorrect-border);\n}\n\n/* QTI Button */\n.qti-button {\n\tbackground: var(--qti-button-bg);\n\tcolor: var(--qti-button-text);\n\tborder: var(--qti-container-border-width) solid var(--qti-button-border);\n\tborder-radius: var(--qti-button-radius);\n\tbox-shadow: var(--qti-button-shadow);\n\tfont-family: var(--qti-font-family);\n\tfont-weight: var(--qti-button-font-weight);\n\ttransition: all 0.1s ease;\n}\n\n.qti-button:hover:not(:disabled) {\n\ttransform: translate(2px, 2px);\n}\n\n.qti-button:active:not(:disabled) {\n\ttransform: translate(4px, 4px);\n\tbox-shadow: none;\n}\n\n/* Neobrutalist-specific component overrides */\n[data-qti-theme=\"neobrutalist\"] .qti-choice {\n\tbox-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 1);\n}\n\n[data-qti-theme=\"neobrutalist\"] .qti-choice:hover:not([data-disabled=\"true\"]) {\n\ttransform: translate(2px, 2px);\n\tbox-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1);\n}\n\n[data-qti-theme=\"neobrutalist\"] .qti-choice[data-selected=\"true\"] {\n\ttransform: translate(2px, 2px);\n\tbox-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1);\n}\n\n[data-qti-theme=\"neobrutalist\"] .qti-feedback {\n\tbox-shadow: 6px 6px 0px 0px rgba(0, 0, 0, 1);\n}\n\n[data-qti-theme=\"neobrutalist\"] .qti-button {\n\ttext-transform: uppercase;\n\tletter-spacing: 0.05em;\n}\n\n[data-qti-theme=\"neobrutalist\"] .qti-button:hover:not(:disabled) {\n\tbox-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1);\n}\n\n[data-qti-theme=\"neobrutalist\"] .qti-button:active:not(:disabled) {\n\ttransform: translate(4px, 4px);\n\tbox-shadow: none;\n}\n\n/* Dark mode neobrutalist shadows */\n.dark[data-qti-theme=\"neobrutalist\"] .qti-choice,\n[data-qti-theme=\"neobrutalist\"] .dark .qti-choice {\n\tbox-shadow: 4px 4px 0px 0px rgba(255, 255, 255, 0.8);\n}\n\n.dark[data-qti-theme=\"neobrutalist\"] .qti-choice:hover:not([data-disabled=\"true\"]),\n[data-qti-theme=\"neobrutalist\"] .dark .qti-choice:hover:not([data-disabled=\"true\"]) {\n\tbox-shadow: 2px 2px 0px 0px rgba(255, 255, 255, 0.8);\n}\n\n.dark[data-qti-theme=\"neobrutalist\"] .qti-feedback,\n[data-qti-theme=\"neobrutalist\"] .dark .qti-feedback {\n\tbox-shadow: 6px 6px 0px 0px rgba(255, 255, 255, 0.8);\n}\n\n/* ============================================\n NEOBRUTALIST FIELD/CHOICE OVERRIDES\n These override the FieldLabel component styles\n ============================================ */\n\n/* Override FieldLabel (choice card container) in neobrutalist theme */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-label\"]:has(> [data-slot=\"field\"]) {\n\tborder-radius: 0 !important;\n\tborder-width: 4px !important;\n\tborder-color: #000000 !important;\n\tbox-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 1) !important;\n\tbackground: var(--qti-choice-bg) !important;\n\tfont-family: var(--qti-font-family) !important;\n\tfont-weight: var(--qti-font-weight) !important;\n\tletter-spacing: var(--qti-tracking) !important;\n\ttransition: all 0.1s ease !important;\n}\n\n/* Hover state */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-label\"]:has(> [data-slot=\"field\"]):hover {\n\ttransform: translate(2px, 2px) !important;\n\tbox-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1) !important;\n\tbackground: var(--qti-choice-hover-bg) !important;\n}\n\n/* Selected state (checked) */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-label\"]:has(> [data-slot=\"field\"]):has([data-state=\"checked\"]) {\n\tbackground: var(--qti-choice-selected-bg) !important;\n\tborder-color: #000000 !important;\n\ttransform: translate(2px, 2px) !important;\n\tbox-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1) !important;\n}\n\n/* Correct state (owl palette = correct) */\n[data-qti-theme=\"neobrutalist\"]\n\t[data-slot=\"field-label\"][data-palette=\"owl\"]:has(> [data-slot=\"field\"]):has([data-state=\"checked\"]) {\n\tbackground: var(--qti-choice-correct-bg) !important;\n\tborder-color: var(--qti-choice-correct-border) !important;\n\tcolor: #000000 !important;\n}\n\n/* Incorrect state (cardinal palette = incorrect) */\n[data-qti-theme=\"neobrutalist\"]\n\t[data-slot=\"field-label\"][data-palette=\"cardinal\"]:has(> [data-slot=\"field\"]):has([data-state=\"checked\"]) {\n\tbackground: var(--qti-choice-incorrect-bg) !important;\n\tborder-color: var(--qti-choice-incorrect-border) !important;\n\tcolor: #000000 !important;\n}\n\n/* Ensure ALL text in neobrutalist choices stays black */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-label\"],\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-label\"] *,\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-content\"],\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-content\"] * {\n\tcolor: #000000 !important;\n}\n\n/* Keep choice indicator text white when checked */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"choice-indicator\"][data-state=\"checked\"] {\n\tcolor: #ffffff !important;\n}\n\n/* Choice indicator (radio/checkbox) in neobrutalist - sharp squares with brutalist shadow */\n/* Override ALL palettes to use brutalist black/white scheme */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"choice-indicator\"] {\n\tborder-radius: 0 !important;\n\tborder-width: 3px !important;\n\tborder-color: #000000 !important;\n\tbox-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1) !important;\n\tfont-family: var(--qti-font-family) !important;\n\tfont-weight: 800 !important;\n\tmin-width: 2rem !important;\n\tmin-height: 2rem !important;\n\twidth: 2rem !important;\n\theight: 2rem !important;\n\tbackground: #ffffff !important;\n\tcolor: #000000 !important;\n\t/* Override Duolingo palette CSS variables with brutalist colors */\n\t--choice-foreground: #000000 !important;\n\t--choice-complement: #000000 !important;\n}\n\n/* ALL palettes when checked - black fill, white text */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"choice-indicator\"][data-state=\"checked\"] {\n\tbackground: #000000 !important;\n\tcolor: #ffffff !important;\n\tborder-color: #000000 !important;\n\tbox-shadow: 1px 1px 0px 0px rgba(0, 0, 0, 1) !important;\n\ttransform: translate(1px, 1px);\n\t--choice-foreground: #ffffff !important;\n\t--choice-complement: #000000 !important;\n}\n\n/* Correct state - lime green brutalist (override owl palette) */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"choice-indicator\"][data-palette=\"owl\"][data-state=\"checked\"] {\n\tbackground: #bfff00 !important;\n\tborder-color: #000000 !important;\n\tcolor: #000000 !important;\n\t--choice-foreground: #000000 !important;\n\t--choice-complement: #bfff00 !important;\n}\n\n/* Incorrect state - coral red brutalist (override cardinal palette) */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"choice-indicator\"][data-palette=\"cardinal\"][data-state=\"checked\"] {\n\tbackground: #ff6b6b !important;\n\tborder-color: #000000 !important;\n\tcolor: #000000 !important;\n\t--choice-foreground: #000000 !important;\n\t--choice-complement: #ff6b6b !important;\n}\n\n/* Multi-select checkbox fill effect in neobrutalist */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"choice-indicator\"][data-filled=\"true\"][data-state=\"checked\"] {\n\tbackground: #000000 !important;\n\tbox-shadow:\n\t\tinset 0 0 0 3px #ffffff,\n\t\t1px 1px 0px 0px rgba(0, 0, 0, 1) !important;\n}\n\n[data-qti-theme=\"neobrutalist\"]\n\t[data-slot=\"choice-indicator\"][data-filled=\"true\"][data-palette=\"owl\"][data-state=\"checked\"] {\n\tbackground: #bfff00 !important;\n\tbox-shadow:\n\t\tinset 0 0 0 3px #ffffff,\n\t\t1px 1px 0px 0px rgba(0, 0, 0, 1) !important;\n}\n\n[data-qti-theme=\"neobrutalist\"]\n\t[data-slot=\"choice-indicator\"][data-filled=\"true\"][data-palette=\"cardinal\"][data-state=\"checked\"] {\n\tbackground: #ff6b6b !important;\n\tbox-shadow:\n\t\tinset 0 0 0 3px #ffffff,\n\t\t1px 1px 0px 0px rgba(0, 0, 0, 1) !important;\n}\n\n/* Inline feedback border in neobrutalist */\n[data-qti-theme=\"neobrutalist\"] output[aria-live=\"polite\"] {\n\tborder-left-width: var(--qti-container-border-width) !important;\n\tborder-color: var(--qti-container-border) !important;\n}\n\n/* Text inputs in neobrutalist - uses variables */\n[data-qti-theme=\"neobrutalist\"] input[type=\"text\"],\n[data-qti-theme=\"neobrutalist\"] textarea,\n[data-qti-theme=\"neobrutalist\"] select {\n\tborder-radius: var(--qti-input-radius) !important;\n\tborder-width: var(--qti-input-border-width) !important;\n\tborder-color: var(--qti-input-border) !important;\n\tfont-family: var(--qti-font-family) !important;\n\tbox-shadow: var(--qti-input-shadow) !important;\n}\n\n[data-qti-theme=\"neobrutalist\"] input[type=\"text\"]:focus,\n[data-qti-theme=\"neobrutalist\"] textarea:focus,\n[data-qti-theme=\"neobrutalist\"] select:focus {\n\toutline: none !important;\n\tbox-shadow: var(--qti-input-focus-shadow) !important;\n\ttransform: translate(1px, 1px);\n}\n\n/* Select trigger (inline dropdowns) in neobrutalist */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"select-trigger\"] {\n\tborder-radius: 0 !important;\n\tborder-width: 3px !important;\n\tborder-color: #000000 !important;\n\tfont-family: var(--qti-font-family) !important;\n\tbox-shadow: 3px 3px 0px 0px rgba(0, 0, 0, 1) !important;\n\tfont-weight: 700 !important;\n}\n\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"select-trigger\"]:hover {\n\ttransform: translate(1px, 1px) !important;\n\tbox-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1) !important;\n}\n\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"select-trigger\"]:focus {\n\toutline: none !important;\n\tbox-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1) !important;\n\ttransform: translate(1px, 1px) !important;\n}\n\n/* Select content (dropdown menu) in neobrutalist */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"select-content\"] {\n\tborder-radius: 0 !important;\n\tborder-width: 3px !important;\n\tborder-color: #000000 !important;\n\tbox-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 1) !important;\n}\n\n/* Dark mode neobrutalist select */\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"select-trigger\"],\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"select-trigger\"] {\n\tborder-color: #ffffff !important;\n\tbox-shadow: 3px 3px 0px 0px rgba(255, 255, 255, 0.8) !important;\n}\n\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"select-trigger\"]:hover,\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"select-trigger\"]:hover {\n\tbox-shadow: 2px 2px 0px 0px rgba(255, 255, 255, 0.8) !important;\n}\n\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"select-content\"],\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"select-content\"] {\n\tborder-color: #ffffff !important;\n\tbox-shadow: 4px 4px 0px 0px rgba(255, 255, 255, 0.8) !important;\n}\n\n/* Progress bar in neobrutalist - uses variables */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"progress\"] {\n\tborder-radius: var(--qti-progress-radius) !important;\n\tborder: var(--qti-progress-border-width) solid var(--qti-progress-border) !important;\n\tbackground: var(--qti-progress-bg) !important;\n}\n\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"progress\"] > div {\n\tborder-radius: var(--qti-progress-radius) !important;\n\tbackground: var(--qti-progress-fill) !important;\n}\n\n/* Dark mode neobrutalist Field overrides */\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-label\"]:has(> [data-slot=\"field\"]),\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"field-label\"]:has(> [data-slot=\"field\"]) {\n\tborder-color: #ffffff !important;\n\tbox-shadow: 4px 4px 0px 0px rgba(255, 255, 255, 0.8) !important;\n\tbackground: var(--qti-choice-bg) !important;\n}\n\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-label\"]:has(> [data-slot=\"field\"]):hover,\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"field-label\"]:has(> [data-slot=\"field\"]):hover {\n\tbox-shadow: 2px 2px 0px 0px rgba(255, 255, 255, 0.8) !important;\n}\n\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"choice-indicator\"],\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"choice-indicator\"] {\n\tborder-color: #ffffff !important;\n\tbox-shadow: 2px 2px 0px 0px rgba(255, 255, 255, 0.8) !important;\n\tcolor: #ffffff !important;\n}\n\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"choice-indicator\"][data-state=\"checked\"],\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"choice-indicator\"][data-state=\"checked\"] {\n\tbackground: #ffffff !important;\n\tcolor: #000000 !important;\n\tbox-shadow: 1px 1px 0px 0px rgba(255, 255, 255, 0.8) !important;\n}\n\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"choice-indicator\"][data-filled=\"true\"][data-state=\"checked\"],\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"choice-indicator\"][data-filled=\"true\"][data-state=\"checked\"] {\n\tbox-shadow:\n\t\tinset 0 0 0 3px #1a1a2e,\n\t\t1px 1px 0px 0px rgba(255, 255, 255, 0.8) !important;\n}\n\n.dark[data-qti-theme=\"neobrutalist\"] input[type=\"text\"],\n.dark[data-qti-theme=\"neobrutalist\"] textarea,\n.dark[data-qti-theme=\"neobrutalist\"] select,\n[data-qti-theme=\"neobrutalist\"] .dark input[type=\"text\"],\n[data-qti-theme=\"neobrutalist\"] .dark textarea,\n[data-qti-theme=\"neobrutalist\"] .dark select {\n\tborder-color: var(--qti-input-border) !important;\n\tbox-shadow: var(--qti-input-shadow) !important;\n}\n\n/* Dark mode neobrutalist text colors - white text for readability */\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-label\"],\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-label\"] *,\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-content\"],\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-content\"] *,\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"field-label\"],\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"field-label\"] *,\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"field-content\"],\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"field-content\"] * {\n\tcolor: #ffffff !important;\n}\n\n/* QTI Input (text entry, textarea, select) */\n.qti-input {\n\tbackground: var(--qti-input-bg);\n\tborder: var(--qti-input-border-width) solid var(--qti-input-border);\n\tborder-radius: var(--qti-input-radius);\n\tbox-shadow: var(--qti-input-shadow);\n\tfont-family: var(--qti-font-family);\n\ttransition: all 0.15s ease;\n}\n\n.qti-input:focus {\n\toutline: none;\n\tborder-color: var(--qti-input-focus-border);\n\tbox-shadow: var(--qti-input-focus-shadow);\n}\n\n.qti-input[data-correct=\"true\"] {\n\tborder-color: var(--qti-input-correct-border);\n}\n\n.qti-input[data-correct=\"false\"] {\n\tborder-color: var(--qti-input-incorrect-border);\n}\n\n/* QTI Choice Indicator (radio/checkbox circle) */\n.qti-indicator {\n\twidth: var(--qti-indicator-size);\n\theight: var(--qti-indicator-size);\n\tbackground: var(--qti-indicator-bg);\n\tborder: var(--qti-indicator-border-width) solid var(--qti-indicator-border);\n\tborder-radius: var(--qti-indicator-radius);\n}\n\n.qti-indicator[data-state=\"checked\"] {\n\tbackground: var(--qti-indicator-checked-bg);\n\tborder-color: var(--qti-indicator-checked-border);\n\tcolor: var(--qti-indicator-checked-text);\n}\n\n/* QTI Progress Bar */\n.qti-progress,\n[data-slot=\"progress\"] {\n\theight: var(--qti-progress-height);\n\tbackground: var(--qti-progress-bg);\n\tborder-radius: var(--qti-progress-radius);\n\tborder: var(--qti-progress-border-width) solid var(--qti-progress-border);\n\toverflow: hidden;\n}\n\n.qti-progress > div,\n[data-slot=\"progress\"] > div {\n\theight: 100%;\n\tbackground: var(--qti-progress-fill);\n\tborder-radius: var(--qti-progress-radius);\n}\n\n/* QTI Order Interaction Container */\n.qti-order-container {\n\tbackground: var(--qti-order-container-bg);\n\tborder: var(--qti-order-container-border-width) solid var(--qti-order-container-border);\n\tborder-radius: var(--qti-order-container-radius);\n\tpadding: var(--qti-order-container-padding);\n\tgap: var(--qti-order-container-gap);\n\ttransition: all 0.2s ease;\n}\n\n.qti-order-container[data-correct=\"true\"] {\n\tbackground: var(--qti-order-container-correct-bg);\n\tborder-color: var(--qti-order-container-correct-border);\n}\n\n.qti-order-container[data-correct=\"false\"] {\n\tbackground: var(--qti-order-container-incorrect-bg);\n\tborder-color: var(--qti-order-container-incorrect-border);\n}\n\n/* QTI Order Item (drag token) */\n.qti-order-item {\n\tbackground: var(--qti-order-item-bg);\n\tborder: var(--qti-order-item-border-width) solid var(--qti-order-item-border);\n\tborder-radius: var(--qti-order-item-radius);\n\tpadding: var(--qti-order-item-padding);\n\tbox-shadow: var(--qti-order-item-shadow);\n\ttransition: all 0.15s ease;\n\ttouch-action: none;\n\tuser-select: none;\n}\n\n.qti-order-item:hover:not([data-disabled=\"true\"]) {\n\tborder-color: var(--qti-order-item-hover-border);\n\tbox-shadow: var(--qti-order-item-hover-shadow);\n}\n\n.qti-order-item[data-dragging=\"true\"] {\n\tborder-color: var(--qti-order-item-dragging-border);\n\tbox-shadow: var(--qti-order-item-dragging-shadow);\n}\n\n.qti-order-item[data-disabled=\"true\"] {\n\tcursor: default;\n\topacity: 0.9;\n}\n\n.qti-order-item-handle {\n\tcolor: var(--qti-order-item-handle-color);\n}\n\n/* QTI HTML Content fixes */\n.qti-html-content {\n\tcolor: inherit !important;\n\tfont-size: var(--qti-content-font-size);\n\tfont-weight: var(--qti-content-font-weight);\n\tline-height: var(--qti-content-line-height);\n}\n\n.qti-html-content *,\n.qti-html-content p,\n.qti-html-content div,\n.qti-html-content span,\n.qti-html-content li {\n\tcolor: inherit !important;\n}\n\n.qti-html-content strong,\n.qti-html-content b {\n\tfont-weight: bold;\n}\n\n.qti-html-content em,\n.qti-html-content i {\n\tfont-style: italic;\n}\n\n.qti-html-content p {\n\tmargin-bottom: 0.5rem;\n}\n\n/* Center images in QTI content */\n.qti-html-content img {\n\tmax-width: 100%;\n\theight: auto;\n\twidth: auto;\n\tobject-fit: contain;\n\tdisplay: block;\n\tmargin-left: auto;\n\tmargin-right: auto;\n}\n\n/* Image containers / figures */\n.qti-html-content figure,\n.qti-html-content .image-container,\n.qti-html-content [class*=\"image\"] {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tmargin: 1rem 0;\n}\n\n/* Tables in QTI content */\n.qti-html-content table {\n\tmargin: 1rem auto;\n\tborder-collapse: collapse;\n}\n\n.qti-html-content th,\n.qti-html-content td {\n\tpadding: 0.5rem 1rem;\n\tborder: 1px solid currentColor;\n}\n\n/* ============================================\n QTI IMAGE GRID STYLES\n For image-only choice interactions\n ============================================ */\n\n/* Base grid for QTI image choices */\n.qti-image-grid {\n\tdisplay: grid;\n\tgap: var(--qti-grid-gap);\n}\n\n.qti-image-grid-2 {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(2, 1fr);\n\tgap: calc(var(--qti-grid-gap) * 1.5);\n\tmax-width: 48rem;\n\tmargin-left: auto;\n\tmargin-right: auto;\n}\n\n.qti-image-grid-3 {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(3, 1fr);\n\tgap: var(--qti-grid-gap);\n}\n\n.qti-image-grid-4 {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(2, 1fr);\n\tgap: var(--qti-grid-gap);\n}\n\n/* For 5+ images, use flexbox to center incomplete rows */\n.qti-image-grid-many {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tjustify-content: center;\n\tgap: var(--qti-grid-gap);\n}\n\n.qti-image-grid-many > * {\n\tflex: 0 0 calc(50% - var(--qti-grid-gap) / 2);\n\tmax-width: calc(50% - var(--qti-grid-gap) / 2);\n}\n\n@media (min-width: 768px) {\n\t.qti-image-grid-many > * {\n\t\tflex: 0 0 calc(33.333% - var(--qti-grid-gap) * 2 / 3);\n\t\tmax-width: calc(33.333% - var(--qti-grid-gap) * 2 / 3);\n\t}\n}\n\n/* Image card styling */\n.qti-image-card {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\talign-items: center;\n\ttext-align: center;\n\tmin-height: var(--qti-image-card-min-height);\n\tpadding: var(--qti-image-card-padding);\n}\n\n/* Force children to center (override w-fit on FieldTitle) */\n.qti-image-card > * {\n\twidth: auto !important;\n}\n\n.qti-image-card img {\n\tmax-height: var(--qti-image-max-height);\n\twidth: auto;\n\theight: auto;\n\tmax-width: 100%;\n\tdisplay: block;\n\tmargin-left: auto;\n\tmargin-right: auto;\n}\n\n@media (min-width: 768px) {\n\t.qti-image-card img {\n\t\tmax-height: calc(var(--qti-image-max-height) * 1.2);\n\t}\n}\n\n/* Larger images for 2-choice grids */\n.qti-image-card-large {\n\tmin-height: calc(var(--qti-image-card-min-height) * 1.22);\n\tpadding: 2rem;\n}\n\n.qti-image-card-large img {\n\tmax-height: calc(var(--qti-image-max-height) * 1.3);\n}\n\n@media (min-width: 768px) {\n\t.qti-image-card-large img {\n\t\tmax-height: calc(var(--qti-image-max-height) * 1.5);\n\t}\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/styles/themes.css"],"sourcesContent":["/* ============================================\n QTI THEME SYSTEM\n ============================================ */\n\n/* QTI Theme Variables - Defaults */\n:root {\n\t/* QTI Container */\n\t--qti-container-bg: var(--background, #ffffff);\n\t--qti-container-border: var(--border, #e5e5e5);\n\t--qti-container-radius: var(--radius-xs, 0.25rem);\n\t--qti-container-shadow: none;\n\t--qti-container-border-width: 2px;\n\n\t/* QTI Typography */\n\t--qti-font-family: inherit;\n\t--qti-font-weight: 500;\n\t--qti-tracking: normal;\n\n\t/* QTI Feedback - Neutral (same for correct/incorrect) */\n\t--qti-feedback-bg: var(--background, #ffffff);\n\t--qti-feedback-border: var(--border, #e5e5e5);\n\t--qti-feedback-correct-text: var(--foreground, #171717);\n\t--qti-feedback-correct-icon-bg: #22c55e;\n\t--qti-feedback-incorrect-text: var(--foreground, #171717);\n\t--qti-feedback-incorrect-icon-bg: #ef4444;\n\n\t/* QTI Choice */\n\t--qti-choice-bg: var(--background, #ffffff);\n\t--qti-choice-border: var(--accent, #f4f4f5);\n\t--qti-choice-hover-bg: var(--muted, #f4f4f5);\n\t--qti-choice-selected-bg: oklch(0.9 0.1 220 / 0.3);\n\t--qti-choice-selected-border: oklch(0.6 0.2 250);\n\t--qti-choice-correct-bg: oklch(0.9 0.15 140 / 0.3);\n\t--qti-choice-correct-border: #22c55e;\n\t--qti-choice-incorrect-bg: oklch(0.9 0.1 25 / 0.3);\n\t--qti-choice-incorrect-border: #ef4444;\n\n\t/* QTI Button */\n\t--qti-button-bg: var(--primary, #18181b);\n\t--qti-button-text: var(--primary-foreground, #ffffff);\n\t--qti-button-border: var(--primary, #18181b);\n\t--qti-button-shadow: none;\n\t--qti-button-radius: var(--radius-xs, 0.25rem);\n\t--qti-button-font-weight: 700;\n\n\t/* QTI Input (text entry, textarea, select/dropdown) */\n\t--qti-input-bg: var(--background, #ffffff);\n\t--qti-input-border: var(--border, #e5e5e5);\n\t--qti-input-border-width: 2px;\n\t--qti-input-radius: var(--radius-xs, 0.25rem);\n\t--qti-input-shadow: none;\n\t--qti-input-focus-border: var(--ring, #2563eb);\n\t--qti-input-focus-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2);\n\t--qti-input-correct-border: #22c55e;\n\t--qti-input-incorrect-border: #ef4444;\n\n\t/* QTI Choice Indicator (radio/checkbox circle) */\n\t--qti-indicator-size: 1.5rem;\n\t--qti-indicator-bg: var(--background, #ffffff);\n\t--qti-indicator-border: var(--border, #d4d4d8);\n\t--qti-indicator-border-width: 2px;\n\t--qti-indicator-radius: var(--radius-xs, 0.25rem);\n\t--qti-indicator-checked-bg: var(--primary, #18181b);\n\t--qti-indicator-checked-border: var(--primary, #18181b);\n\t--qti-indicator-checked-text: var(--primary-foreground, #ffffff);\n\n\t/* QTI Progress Bar */\n\t--qti-progress-bg: var(--muted, #f4f4f5);\n\t--qti-progress-fill: var(--primary, #18181b);\n\t--qti-progress-height: 0.5rem;\n\t--qti-progress-radius: var(--radius-xs, 0.25rem);\n\t--qti-progress-border: transparent;\n\t--qti-progress-border-width: 0px;\n\n\t/* QTI HTML Content (question text, prompts) */\n\t--qti-content-font-size: 1.125rem;\n\t--qti-content-line-height: 1.625;\n\t--qti-content-font-weight: 500;\n\n\t/* QTI Image Grid */\n\t--qti-grid-gap: 1rem;\n\t--qti-image-card-min-height: 180px;\n\t--qti-image-card-padding: 0;\n\t--qti-image-max-height: 160px;\n\n\t/* QTI Order Interaction (drag-and-drop sorting) */\n\t--qti-order-container-bg: var(--muted, #f4f4f5);\n\t--qti-order-container-border: transparent;\n\t--qti-order-container-border-width: 2px;\n\t--qti-order-container-radius: var(--radius-xs, 0.25rem);\n\t--qti-order-container-padding: 1rem;\n\t--qti-order-container-gap: 0.5rem;\n\t--qti-order-container-correct-bg: oklch(0.9 0.15 140 / 0.2);\n\t--qti-order-container-correct-border: #22c55e;\n\t--qti-order-container-incorrect-bg: oklch(0.9 0.1 25 / 0.2);\n\t--qti-order-container-incorrect-border: #ef4444;\n\n\t/* QTI Order Item (individual drag tokens) */\n\t--qti-order-item-bg: var(--background, #ffffff);\n\t--qti-order-item-border: var(--border, #e5e5e5);\n\t--qti-order-item-border-width: 1px;\n\t--qti-order-item-radius: var(--radius-xs, 0.25rem);\n\t--qti-order-item-padding: 1rem;\n\t--qti-order-item-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n\t--qti-order-item-hover-border: oklch(0.6 0.2 250);\n\t--qti-order-item-hover-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\n\t--qti-order-item-dragging-border: oklch(0.6 0.2 250);\n\t--qti-order-item-dragging-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);\n\t--qti-order-item-handle-color: var(--muted-foreground, #71717a);\n}\n\n/* Dark mode adjustments for default theme */\n.dark {\n\t--qti-choice-selected-bg: oklch(0.3 0.05 228 / 0.4);\n\t--qti-choice-correct-bg: oklch(0.25 0.05 140 / 0.4);\n\t--qti-choice-incorrect-bg: oklch(0.25 0.05 25 / 0.4);\n\t--qti-input-focus-shadow: 0 0 0 2px rgba(96, 165, 250, 0.3);\n}\n\n/* ============================================\n NEOBRUTALIST THEME\n ============================================ */\n\n[data-qti-theme=\"neobrutalist\"] {\n\t/* Container */\n\t--qti-container-bg: #ffffff;\n\t--qti-container-border: #000000;\n\t--qti-container-radius: 0px;\n\t--qti-container-shadow: 8px 8px 0px 0px rgba(0, 0, 0, 1);\n\t--qti-container-border-width: 4px;\n\n\t/* Typography */\n\t--qti-font-family: ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, monospace;\n\t--qti-font-weight: 700;\n\t--qti-tracking: -0.025em;\n\n\t/* Feedback - Neutral white background */\n\t--qti-feedback-bg: #ffffff;\n\t--qti-feedback-border: #000000;\n\t--qti-feedback-correct-text: #000000;\n\t--qti-feedback-correct-icon-bg: #00ff00;\n\t--qti-feedback-incorrect-text: #000000;\n\t--qti-feedback-incorrect-icon-bg: #ff0000;\n\n\t/* Choice */\n\t--qti-choice-bg: #ffffff;\n\t--qti-choice-border: #000000;\n\t--qti-choice-hover-bg: #f0f0f0;\n\t--qti-choice-selected-bg: #a8e6cf;\n\t--qti-choice-selected-border: #000000;\n\t--qti-choice-correct-bg: #bfff00;\n\t--qti-choice-correct-border: #000000;\n\t--qti-choice-incorrect-bg: #ff6b6b;\n\t--qti-choice-incorrect-border: #000000;\n\n\t/* Button (Hot Pink) */\n\t--qti-button-bg: #ff90e8;\n\t--qti-button-text: #000000;\n\t--qti-button-border: #000000;\n\t--qti-button-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 1);\n\t--qti-button-radius: 0px;\n\t--qti-button-font-weight: 900;\n\n\t/* Input (text entry, textarea, select) */\n\t--qti-input-bg: #ffffff;\n\t--qti-input-border: #000000;\n\t--qti-input-border-width: 3px;\n\t--qti-input-radius: 0px;\n\t--qti-input-shadow: 3px 3px 0px 0px rgba(0, 0, 0, 1);\n\t--qti-input-focus-border: #000000;\n\t--qti-input-focus-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1);\n\t--qti-input-correct-border: #00ff00;\n\t--qti-input-incorrect-border: #ff0000;\n\n\t/* Choice Indicator (radio/checkbox) */\n\t--qti-indicator-border: #000000;\n\t--qti-indicator-border-width: 3px;\n\t--qti-indicator-radius: 0px;\n\t--qti-indicator-checked-bg: #000000;\n\t--qti-indicator-checked-border: #000000;\n\n\t/* Progress Bar */\n\t--qti-progress-bg: #ffffff;\n\t--qti-progress-fill: #ff90e8;\n\t--qti-progress-radius: 0px;\n\t--qti-progress-border: #000000;\n\t--qti-progress-border-width: 2px;\n\n\t/* Order Interaction */\n\t--qti-order-container-bg: #f0f0f0;\n\t--qti-order-container-border: #000000;\n\t--qti-order-container-border-width: 4px;\n\t--qti-order-container-radius: 0px;\n\t--qti-order-container-correct-bg: #bfff00;\n\t--qti-order-container-correct-border: #000000;\n\t--qti-order-container-incorrect-bg: #ff6b6b;\n\t--qti-order-container-incorrect-border: #000000;\n\n\t/* Order Item (drag tokens) */\n\t--qti-order-item-bg: #ffffff;\n\t--qti-order-item-border: #000000;\n\t--qti-order-item-border-width: 3px;\n\t--qti-order-item-radius: 0px;\n\t--qti-order-item-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 1);\n\t--qti-order-item-hover-border: #000000;\n\t--qti-order-item-hover-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1);\n\t--qti-order-item-dragging-border: #000000;\n\t--qti-order-item-dragging-shadow: 6px 6px 0px 0px rgba(0, 0, 0, 1);\n\t--qti-order-item-handle-color: #000000;\n}\n\n/* Neobrutalist dark mode */\n.dark[data-qti-theme=\"neobrutalist\"],\n[data-qti-theme=\"neobrutalist\"] .dark {\n\t--qti-container-bg: #1a1a2e;\n\t--qti-container-border: #ffffff;\n\t--qti-container-shadow: 8px 8px 0px 0px rgba(255, 255, 255, 0.8);\n\n\t--qti-feedback-bg: #1a1a2e;\n\t--qti-feedback-border: #ffffff;\n\t--qti-feedback-correct-text: #bfff00;\n\t--qti-feedback-incorrect-text: #ff6b6b;\n\n\t--qti-choice-bg: #1a1a2e;\n\t--qti-choice-border: #ffffff;\n\t--qti-choice-hover-bg: #2a2a4e;\n\t--qti-choice-selected-bg: #2d5a27;\n\t--qti-choice-selected-border: #bfff00;\n\t--qti-choice-correct-bg: #2d5a27;\n\t--qti-choice-correct-border: #bfff00;\n\t--qti-choice-incorrect-bg: #5a2727;\n\t--qti-choice-incorrect-border: #ff6b6b;\n\n\t--qti-button-bg: #ff90e8;\n\t--qti-button-text: #000000;\n\t--qti-button-border: #ffffff;\n\t--qti-button-shadow: 4px 4px 0px 0px rgba(255, 255, 255, 0.8);\n\n\t/* Input dark mode */\n\t--qti-input-bg: #1a1a2e;\n\t--qti-input-border: #ffffff;\n\t--qti-input-shadow: 3px 3px 0px 0px rgba(255, 255, 255, 0.8);\n\t--qti-input-focus-shadow: 2px 2px 0px 0px rgba(255, 255, 255, 0.8);\n\t--qti-input-correct-border: #bfff00;\n\t--qti-input-incorrect-border: #ff6b6b;\n\n\t/* Choice indicator dark mode */\n\t--qti-indicator-bg: #1a1a2e;\n\t--qti-indicator-border: #ffffff;\n\t--qti-indicator-checked-bg: #ffffff;\n\t--qti-indicator-checked-text: #000000;\n\n\t/* Progress bar dark mode */\n\t--qti-progress-bg: #1a1a2e;\n\t--qti-progress-border: #ffffff;\n\n\t/* Order interaction dark mode */\n\t--qti-order-container-bg: #2a2a4e;\n\t--qti-order-container-border: #ffffff;\n\t--qti-order-container-correct-bg: #2d5a27;\n\t--qti-order-container-correct-border: #bfff00;\n\t--qti-order-container-incorrect-bg: #5a2727;\n\t--qti-order-container-incorrect-border: #ff6b6b;\n\n\t/* Order item dark mode */\n\t--qti-order-item-bg: #1a1a2e;\n\t--qti-order-item-border: #ffffff;\n\t--qti-order-item-shadow: 4px 4px 0px 0px rgba(255, 255, 255, 0.8);\n\t--qti-order-item-hover-shadow: 2px 2px 0px 0px rgba(255, 255, 255, 0.8);\n\t--qti-order-item-dragging-shadow: 6px 6px 0px 0px rgba(255, 255, 255, 0.8);\n\t--qti-order-item-handle-color: #ffffff;\n}\n\n/* ============================================\n QTI COMPONENT STYLES\n ============================================ */\n\n/* QTI Container wrapper */\n.qti-container {\n\tfont-family: var(--qti-font-family);\n\tfont-weight: var(--qti-font-weight);\n\tletter-spacing: var(--qti-tracking);\n}\n\n/* QTI Card/Panel */\n.qti-card {\n\tbackground: var(--qti-container-bg);\n\tborder: var(--qti-container-border-width) solid var(--qti-container-border);\n\tborder-radius: var(--qti-container-radius);\n\tbox-shadow: var(--qti-container-shadow);\n}\n\n/* QTI Feedback Block */\n.qti-feedback {\n\tborder-width: var(--qti-container-border-width);\n\tborder-radius: var(--qti-container-radius);\n\tfont-family: var(--qti-font-family);\n\tbackground: var(--qti-feedback-bg);\n\tborder-color: var(--qti-feedback-border);\n\tmargin-top: 1.5rem;\n}\n\n.qti-feedback[data-correct=\"true\"] {\n\tcolor: var(--qti-feedback-correct-text);\n}\n\n.qti-feedback[data-correct=\"false\"] {\n\tcolor: var(--qti-feedback-incorrect-text);\n}\n\n.qti-feedback-icon[data-correct=\"true\"] {\n\tbackground: var(--qti-feedback-correct-icon-bg);\n}\n\n.qti-feedback-icon[data-correct=\"false\"] {\n\tbackground: var(--qti-feedback-incorrect-icon-bg);\n}\n\n/* QTI Choice Field */\n.qti-choice {\n\tbackground: var(--qti-choice-bg);\n\tborder: var(--qti-container-border-width) solid var(--qti-choice-border);\n\tborder-radius: var(--qti-container-radius);\n\ttransition: all 0.15s ease;\n}\n\n.qti-choice:hover:not([data-disabled=\"true\"]) {\n\tbackground: var(--qti-choice-hover-bg);\n}\n\n.qti-choice[data-selected=\"true\"] {\n\tbackground: var(--qti-choice-selected-bg);\n\tborder-color: var(--qti-choice-selected-border);\n}\n\n.qti-choice[data-correct=\"true\"] {\n\tbackground: var(--qti-choice-correct-bg);\n\tborder-color: var(--qti-choice-correct-border);\n}\n\n.qti-choice[data-correct=\"false\"] {\n\tbackground: var(--qti-choice-incorrect-bg);\n\tborder-color: var(--qti-choice-incorrect-border);\n}\n\n/* QTI Button */\n.qti-button {\n\tbackground: var(--qti-button-bg);\n\tcolor: var(--qti-button-text);\n\tborder: var(--qti-container-border-width) solid var(--qti-button-border);\n\tborder-radius: var(--qti-button-radius);\n\tbox-shadow: var(--qti-button-shadow);\n\tfont-family: var(--qti-font-family);\n\tfont-weight: var(--qti-button-font-weight);\n\ttransition: all 0.1s ease;\n}\n\n.qti-button:hover:not(:disabled) {\n\ttransform: translate(2px, 2px);\n}\n\n.qti-button:active:not(:disabled) {\n\ttransform: translate(4px, 4px);\n\tbox-shadow: none;\n}\n\n/* Neobrutalist-specific component overrides */\n[data-qti-theme=\"neobrutalist\"] .qti-choice {\n\tbox-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 1);\n}\n\n[data-qti-theme=\"neobrutalist\"] .qti-choice:hover:not([data-disabled=\"true\"]) {\n\ttransform: translate(2px, 2px);\n\tbox-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1);\n}\n\n[data-qti-theme=\"neobrutalist\"] .qti-choice[data-selected=\"true\"] {\n\ttransform: translate(2px, 2px);\n\tbox-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1);\n}\n\n[data-qti-theme=\"neobrutalist\"] .qti-feedback {\n\tbox-shadow: 6px 6px 0px 0px rgba(0, 0, 0, 1);\n}\n\n[data-qti-theme=\"neobrutalist\"] .qti-button {\n\ttext-transform: uppercase;\n\tletter-spacing: 0.05em;\n}\n\n[data-qti-theme=\"neobrutalist\"] .qti-button:hover:not(:disabled) {\n\tbox-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1);\n}\n\n[data-qti-theme=\"neobrutalist\"] .qti-button:active:not(:disabled) {\n\ttransform: translate(4px, 4px);\n\tbox-shadow: none;\n}\n\n/* Dark mode neobrutalist shadows */\n.dark[data-qti-theme=\"neobrutalist\"] .qti-choice,\n[data-qti-theme=\"neobrutalist\"] .dark .qti-choice {\n\tbox-shadow: 4px 4px 0px 0px rgba(255, 255, 255, 0.8);\n}\n\n.dark[data-qti-theme=\"neobrutalist\"] .qti-choice:hover:not([data-disabled=\"true\"]),\n[data-qti-theme=\"neobrutalist\"] .dark .qti-choice:hover:not([data-disabled=\"true\"]) {\n\tbox-shadow: 2px 2px 0px 0px rgba(255, 255, 255, 0.8);\n}\n\n.dark[data-qti-theme=\"neobrutalist\"] .qti-feedback,\n[data-qti-theme=\"neobrutalist\"] .dark .qti-feedback {\n\tbox-shadow: 6px 6px 0px 0px rgba(255, 255, 255, 0.8);\n}\n\n/* ============================================\n NEOBRUTALIST FIELD/CHOICE OVERRIDES\n These override the FieldLabel component styles\n ============================================ */\n\n/* Override FieldLabel (choice card container) in neobrutalist theme */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-label\"]:has(> [data-slot=\"field\"]) {\n\tborder-radius: 0 !important;\n\tborder-width: 4px !important;\n\tborder-color: #000000 !important;\n\tbox-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 1) !important;\n\tbackground: var(--qti-choice-bg) !important;\n\tfont-family: var(--qti-font-family) !important;\n\tfont-weight: var(--qti-font-weight) !important;\n\tletter-spacing: var(--qti-tracking) !important;\n\ttransition: all 0.1s ease !important;\n}\n\n/* Hover state */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-label\"]:has(> [data-slot=\"field\"]):hover {\n\ttransform: translate(2px, 2px) !important;\n\tbox-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1) !important;\n\tbackground: var(--qti-choice-hover-bg) !important;\n}\n\n/* Selected state (checked) */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-label\"]:has(> [data-slot=\"field\"]):has([data-state=\"checked\"]) {\n\tbackground: var(--qti-choice-selected-bg) !important;\n\tborder-color: #000000 !important;\n\ttransform: translate(2px, 2px) !important;\n\tbox-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1) !important;\n}\n\n/* Correct state (owl palette = correct) */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-label\"][data-palette=\"owl\"]:has(> [data-slot=\"field\"]):has([data-state=\"checked\"]) {\n\tbackground: var(--qti-choice-correct-bg) !important;\n\tborder-color: var(--qti-choice-correct-border) !important;\n\tcolor: #000000 !important;\n}\n\n/* Incorrect state (cardinal palette = incorrect) */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-label\"][data-palette=\"cardinal\"]:has(> [data-slot=\"field\"]):has([data-state=\"checked\"]) {\n\tbackground: var(--qti-choice-incorrect-bg) !important;\n\tborder-color: var(--qti-choice-incorrect-border) !important;\n\tcolor: #000000 !important;\n}\n\n/* Ensure ALL text in neobrutalist choices stays black */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-label\"],\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-label\"] *,\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-content\"],\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-content\"] * {\n\tcolor: #000000 !important;\n}\n\n/* Keep choice indicator text white when checked */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"choice-indicator\"][data-state=\"checked\"] {\n\tcolor: #ffffff !important;\n}\n\n/* Choice indicator (radio/checkbox) in neobrutalist - sharp squares with brutalist shadow */\n/* Override ALL palettes to use brutalist black/white scheme */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"choice-indicator\"] {\n\tborder-radius: 0 !important;\n\tborder-width: 3px !important;\n\tborder-color: #000000 !important;\n\tbox-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1) !important;\n\tfont-family: var(--qti-font-family) !important;\n\tfont-weight: 800 !important;\n\tmin-width: 2rem !important;\n\tmin-height: 2rem !important;\n\twidth: 2rem !important;\n\theight: 2rem !important;\n\tbackground: #ffffff !important;\n\tcolor: #000000 !important;\n\t/* Override Duolingo palette CSS variables with brutalist colors */\n\t--choice-foreground: #000000 !important;\n\t--choice-complement: #000000 !important;\n}\n\n/* ALL palettes when checked - black fill, white text */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"choice-indicator\"][data-state=\"checked\"] {\n\tbackground: #000000 !important;\n\tcolor: #ffffff !important;\n\tborder-color: #000000 !important;\n\tbox-shadow: 1px 1px 0px 0px rgba(0, 0, 0, 1) !important;\n\ttransform: translate(1px, 1px);\n\t--choice-foreground: #ffffff !important;\n\t--choice-complement: #000000 !important;\n}\n\n/* Correct state - lime green brutalist (override owl palette) */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"choice-indicator\"][data-palette=\"owl\"][data-state=\"checked\"] {\n\tbackground: #bfff00 !important;\n\tborder-color: #000000 !important;\n\tcolor: #000000 !important;\n\t--choice-foreground: #000000 !important;\n\t--choice-complement: #bfff00 !important;\n}\n\n/* Incorrect state - coral red brutalist (override cardinal palette) */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"choice-indicator\"][data-palette=\"cardinal\"][data-state=\"checked\"] {\n\tbackground: #ff6b6b !important;\n\tborder-color: #000000 !important;\n\tcolor: #000000 !important;\n\t--choice-foreground: #000000 !important;\n\t--choice-complement: #ff6b6b !important;\n}\n\n/* Multi-select checkbox fill effect in neobrutalist */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"choice-indicator\"][data-filled=\"true\"][data-state=\"checked\"] {\n\tbackground: #000000 !important;\n\tbox-shadow:\n\t\tinset 0 0 0 3px #ffffff,\n\t\t1px 1px 0px 0px rgba(0, 0, 0, 1) !important;\n}\n\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"choice-indicator\"][data-filled=\"true\"][data-palette=\"owl\"][data-state=\"checked\"] {\n\tbackground: #bfff00 !important;\n\tbox-shadow:\n\t\tinset 0 0 0 3px #ffffff,\n\t\t1px 1px 0px 0px rgba(0, 0, 0, 1) !important;\n}\n\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"choice-indicator\"][data-filled=\"true\"][data-palette=\"cardinal\"][data-state=\"checked\"] {\n\tbackground: #ff6b6b !important;\n\tbox-shadow:\n\t\tinset 0 0 0 3px #ffffff,\n\t\t1px 1px 0px 0px rgba(0, 0, 0, 1) !important;\n}\n\n/* Inline feedback border in neobrutalist */\n[data-qti-theme=\"neobrutalist\"] output[aria-live=\"polite\"] {\n\tborder-left-width: var(--qti-container-border-width) !important;\n\tborder-color: var(--qti-container-border) !important;\n}\n\n/* Text inputs in neobrutalist - uses variables */\n[data-qti-theme=\"neobrutalist\"] input[type=\"text\"],\n[data-qti-theme=\"neobrutalist\"] textarea,\n[data-qti-theme=\"neobrutalist\"] select {\n\tborder-radius: var(--qti-input-radius) !important;\n\tborder-width: var(--qti-input-border-width) !important;\n\tborder-color: var(--qti-input-border) !important;\n\tfont-family: var(--qti-font-family) !important;\n\tbox-shadow: var(--qti-input-shadow) !important;\n}\n\n[data-qti-theme=\"neobrutalist\"] input[type=\"text\"]:focus,\n[data-qti-theme=\"neobrutalist\"] textarea:focus,\n[data-qti-theme=\"neobrutalist\"] select:focus {\n\toutline: none !important;\n\tbox-shadow: var(--qti-input-focus-shadow) !important;\n\ttransform: translate(1px, 1px);\n}\n\n/* Select trigger (inline dropdowns) in neobrutalist */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"select-trigger\"] {\n\tborder-radius: 0 !important;\n\tborder-width: 3px !important;\n\tborder-color: #000000 !important;\n\tfont-family: var(--qti-font-family) !important;\n\tbox-shadow: 3px 3px 0px 0px rgba(0, 0, 0, 1) !important;\n\tfont-weight: 700 !important;\n}\n\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"select-trigger\"]:hover {\n\ttransform: translate(1px, 1px) !important;\n\tbox-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1) !important;\n}\n\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"select-trigger\"]:focus {\n\toutline: none !important;\n\tbox-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1) !important;\n\ttransform: translate(1px, 1px) !important;\n}\n\n/* Select content (dropdown menu) in neobrutalist */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"select-content\"] {\n\tborder-radius: 0 !important;\n\tborder-width: 3px !important;\n\tborder-color: #000000 !important;\n\tbox-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 1) !important;\n}\n\n/* Dark mode neobrutalist select */\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"select-trigger\"],\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"select-trigger\"] {\n\tborder-color: #ffffff !important;\n\tbox-shadow: 3px 3px 0px 0px rgba(255, 255, 255, 0.8) !important;\n}\n\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"select-trigger\"]:hover,\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"select-trigger\"]:hover {\n\tbox-shadow: 2px 2px 0px 0px rgba(255, 255, 255, 0.8) !important;\n}\n\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"select-content\"],\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"select-content\"] {\n\tborder-color: #ffffff !important;\n\tbox-shadow: 4px 4px 0px 0px rgba(255, 255, 255, 0.8) !important;\n}\n\n/* Progress bar in neobrutalist - uses variables */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"progress\"] {\n\tborder-radius: var(--qti-progress-radius) !important;\n\tborder: var(--qti-progress-border-width) solid var(--qti-progress-border) !important;\n\tbackground: var(--qti-progress-bg) !important;\n}\n\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"progress\"]>div {\n\tborder-radius: var(--qti-progress-radius) !important;\n\tbackground: var(--qti-progress-fill) !important;\n}\n\n/* Dark mode neobrutalist Field overrides */\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-label\"]:has(> [data-slot=\"field\"]),\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"field-label\"]:has(> [data-slot=\"field\"]) {\n\tborder-color: #ffffff !important;\n\tbox-shadow: 4px 4px 0px 0px rgba(255, 255, 255, 0.8) !important;\n\tbackground: var(--qti-choice-bg) !important;\n}\n\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-label\"]:has(> [data-slot=\"field\"]):hover,\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"field-label\"]:has(> [data-slot=\"field\"]):hover {\n\tbox-shadow: 2px 2px 0px 0px rgba(255, 255, 255, 0.8) !important;\n}\n\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"choice-indicator\"],\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"choice-indicator\"] {\n\tborder-color: #ffffff !important;\n\tbox-shadow: 2px 2px 0px 0px rgba(255, 255, 255, 0.8) !important;\n\tcolor: #ffffff !important;\n}\n\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"choice-indicator\"][data-state=\"checked\"],\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"choice-indicator\"][data-state=\"checked\"] {\n\tbackground: #ffffff !important;\n\tcolor: #000000 !important;\n\tbox-shadow: 1px 1px 0px 0px rgba(255, 255, 255, 0.8) !important;\n}\n\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"choice-indicator\"][data-filled=\"true\"][data-state=\"checked\"],\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"choice-indicator\"][data-filled=\"true\"][data-state=\"checked\"] {\n\tbox-shadow:\n\t\tinset 0 0 0 3px #1a1a2e,\n\t\t1px 1px 0px 0px rgba(255, 255, 255, 0.8) !important;\n}\n\n.dark[data-qti-theme=\"neobrutalist\"] input[type=\"text\"],\n.dark[data-qti-theme=\"neobrutalist\"] textarea,\n.dark[data-qti-theme=\"neobrutalist\"] select,\n[data-qti-theme=\"neobrutalist\"] .dark input[type=\"text\"],\n[data-qti-theme=\"neobrutalist\"] .dark textarea,\n[data-qti-theme=\"neobrutalist\"] .dark select {\n\tborder-color: var(--qti-input-border) !important;\n\tbox-shadow: var(--qti-input-shadow) !important;\n}\n\n/* Dark mode neobrutalist text colors - white text for readability */\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-label\"],\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-label\"] *,\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-content\"],\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-content\"] *,\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"field-label\"],\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"field-label\"] *,\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"field-content\"],\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"field-content\"] * {\n\tcolor: #ffffff !important;\n}\n\n/* QTI Input (text entry, textarea, select) */\n.qti-input {\n\tbackground: var(--qti-input-bg);\n\tborder: var(--qti-input-border-width) solid var(--qti-input-border);\n\tborder-radius: var(--qti-input-radius);\n\tbox-shadow: var(--qti-input-shadow);\n\tfont-family: var(--qti-font-family);\n\ttransition: all 0.15s ease;\n}\n\n.qti-input:focus {\n\toutline: none;\n\tborder-color: var(--qti-input-focus-border);\n\tbox-shadow: var(--qti-input-focus-shadow);\n}\n\n.qti-input[data-correct=\"true\"] {\n\tborder-color: var(--qti-input-correct-border);\n}\n\n.qti-input[data-correct=\"false\"] {\n\tborder-color: var(--qti-input-incorrect-border);\n}\n\n/* QTI Choice Indicator (radio/checkbox circle) */\n.qti-indicator {\n\twidth: var(--qti-indicator-size);\n\theight: var(--qti-indicator-size);\n\tbackground: var(--qti-indicator-bg);\n\tborder: var(--qti-indicator-border-width) solid var(--qti-indicator-border);\n\tborder-radius: var(--qti-indicator-radius);\n}\n\n.qti-indicator[data-state=\"checked\"] {\n\tbackground: var(--qti-indicator-checked-bg);\n\tborder-color: var(--qti-indicator-checked-border);\n\tcolor: var(--qti-indicator-checked-text);\n}\n\n/* QTI Progress Bar */\n.qti-progress,\n[data-slot=\"progress\"] {\n\theight: var(--qti-progress-height);\n\tbackground: var(--qti-progress-bg);\n\tborder-radius: var(--qti-progress-radius);\n\tborder: var(--qti-progress-border-width) solid var(--qti-progress-border);\n\toverflow: hidden;\n}\n\n.qti-progress>div,\n[data-slot=\"progress\"]>div {\n\theight: 100%;\n\tbackground: var(--qti-progress-fill);\n\tborder-radius: var(--qti-progress-radius);\n}\n\n/* QTI Order Interaction Container */\n.qti-order-container {\n\tbackground: var(--qti-order-container-bg);\n\tborder: var(--qti-order-container-border-width) solid var(--qti-order-container-border);\n\tborder-radius: var(--qti-order-container-radius);\n\tpadding: var(--qti-order-container-padding);\n\tgap: var(--qti-order-container-gap);\n\ttransition: all 0.2s ease;\n}\n\n.qti-order-container[data-correct=\"true\"] {\n\tbackground: var(--qti-order-container-correct-bg);\n\tborder-color: var(--qti-order-container-correct-border);\n}\n\n.qti-order-container[data-correct=\"false\"] {\n\tbackground: var(--qti-order-container-incorrect-bg);\n\tborder-color: var(--qti-order-container-incorrect-border);\n}\n\n/* QTI Order Item (drag token) */\n.qti-order-item {\n\tbackground: var(--qti-order-item-bg);\n\tborder: var(--qti-order-item-border-width) solid var(--qti-order-item-border);\n\tborder-radius: var(--qti-order-item-radius);\n\tpadding: var(--qti-order-item-padding);\n\tbox-shadow: var(--qti-order-item-shadow);\n\ttransition: all 0.15s ease;\n\ttouch-action: none;\n\tuser-select: none;\n}\n\n.qti-order-item:hover:not([data-disabled=\"true\"]) {\n\tborder-color: var(--qti-order-item-hover-border);\n\tbox-shadow: var(--qti-order-item-hover-shadow);\n}\n\n.qti-order-item[data-dragging=\"true\"] {\n\tborder-color: var(--qti-order-item-dragging-border);\n\tbox-shadow: var(--qti-order-item-dragging-shadow);\n}\n\n.qti-order-item[data-disabled=\"true\"] {\n\tcursor: default;\n\topacity: 0.9;\n}\n\n.qti-order-item-handle {\n\tcolor: var(--qti-order-item-handle-color);\n}\n\n/* QTI HTML Content fixes */\n.qti-html-content {\n\tcolor: inherit !important;\n\tfont-size: var(--qti-content-font-size);\n\tfont-weight: var(--qti-content-font-weight);\n\tline-height: var(--qti-content-line-height);\n}\n\n.qti-html-content *,\n.qti-html-content p,\n.qti-html-content div,\n.qti-html-content span,\n.qti-html-content li {\n\tcolor: inherit !important;\n}\n\n.qti-html-content strong,\n.qti-html-content b {\n\tfont-weight: bold;\n}\n\n.qti-html-content em,\n.qti-html-content i {\n\tfont-style: italic;\n}\n\n.qti-html-content p {\n\tmargin-bottom: 0.5rem;\n}\n\n/* Center images in QTI content */\n.qti-html-content img {\n\tmax-width: 100%;\n\theight: auto;\n\twidth: auto;\n\tobject-fit: contain;\n\tdisplay: block;\n\tmargin-left: auto;\n\tmargin-right: auto;\n}\n\n/* Image containers / figures */\n.qti-html-content figure,\n.qti-html-content .image-container,\n.qti-html-content [class*=\"image\"] {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tmargin: 1rem 0;\n}\n\n/* Tables in QTI content */\n.qti-html-content table {\n\tmargin: 1rem auto;\n\tborder-collapse: collapse;\n}\n\n.qti-html-content th,\n.qti-html-content td {\n\tpadding: 0.5rem 1rem;\n\tborder: 1px solid currentColor;\n}\n\n/* MathML menclose overline support (for line segment notation like S̅Z̅) */\n.qti-html-content menclose[notation=\"top\"],\n.qti-html-content .tml-overline,\nmenclose[notation=\"top\"],\n.tml-overline {\n\tborder-top: 0.07em solid currentColor;\n\tpadding-top: 0.12em;\n\tmargin-right: 0.1em;\n}\n\n/* MathML mover stretchy arrow - just scale the arrow wider */\n.qti-html-content mover>mo[stretchy=\"true\"],\nmover>mo[stretchy=\"true\"] {\n\ttransform: scaleX(1.3);\n}\n\n/* MathML bold text for maximum clarity */\n.qti-html-content math mi,\n.qti-html-content math mn,\n.qti-html-content math mtext,\nmath mi,\nmath mn,\nmath mtext {\n\tfont-weight: 600;\n}\n\n/* ============================================\n QTI IMAGE GRID STYLES\n For image-only choice interactions\n ============================================ */\n\n/* Base grid for QTI image choices */\n.qti-image-grid {\n\tdisplay: grid;\n\tgap: var(--qti-grid-gap);\n}\n\n.qti-image-grid-2 {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(2, 1fr);\n\tgap: calc(var(--qti-grid-gap) * 1.5);\n\tmax-width: 48rem;\n\tmargin-left: auto;\n\tmargin-right: auto;\n}\n\n.qti-image-grid-3 {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(3, 1fr);\n\tgap: var(--qti-grid-gap);\n}\n\n.qti-image-grid-4 {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(2, 1fr);\n\tgap: var(--qti-grid-gap);\n}\n\n/* For 5+ images, use flexbox to center incomplete rows */\n.qti-image-grid-many {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tjustify-content: center;\n\tgap: var(--qti-grid-gap);\n}\n\n.qti-image-grid-many>* {\n\tflex: 0 0 calc(50% - var(--qti-grid-gap) / 2);\n\tmax-width: calc(50% - var(--qti-grid-gap) / 2);\n}\n\n@media (min-width: 768px) {\n\t.qti-image-grid-many>* {\n\t\tflex: 0 0 calc(33.333% - var(--qti-grid-gap) * 2 / 3);\n\t\tmax-width: calc(33.333% - var(--qti-grid-gap) * 2 / 3);\n\t}\n}\n\n/* Image card styling */\n.qti-image-card {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\talign-items: center;\n\ttext-align: center;\n\tmin-height: var(--qti-image-card-min-height);\n\tpadding: var(--qti-image-card-padding);\n}\n\n/* Force children to center (override w-fit on FieldTitle) */\n.qti-image-card>* {\n\twidth: auto !important;\n}\n\n.qti-image-card img {\n\tmax-height: var(--qti-image-max-height);\n\twidth: auto;\n\theight: auto;\n\tmax-width: 100%;\n\tdisplay: block;\n\tmargin-left: auto;\n\tmargin-right: auto;\n}\n\n@media (min-width: 768px) {\n\t.qti-image-card img {\n\t\tmax-height: calc(var(--qti-image-max-height) * 1.2);\n\t}\n}\n\n/* Larger images for 2-choice grids */\n.qti-image-card-large {\n\tmin-height: calc(var(--qti-image-card-min-height) * 1.22);\n\tpadding: 2rem;\n}\n\n.qti-image-card-large img {\n\tmax-height: calc(var(--qti-image-max-height) * 1.3);\n}\n\n@media (min-width: 768px) {\n\t.qti-image-card-large img {\n\t\tmax-height: calc(var(--qti-image-max-height) * 1.5);\n\t}\n}\n\n/* ============================================\n QTI STIMULUS STYLES\n For rendering reading material / articles\n ============================================ */\n\n.qti-stimulus-body {\n\tfont-family: var(--qti-font-family, inherit);\n\tfont-size: 1.125rem;\n\tline-height: 1.75;\n\tcolor: var(--foreground, #171717);\n}\n\n/* Headings - prominent styling */\n.qti-stimulus-body h1 {\n\tdisplay: block;\n\tfont-size: 2rem;\n\tfont-weight: 800;\n\tmargin-top: 0;\n\tmargin-bottom: 1.25rem;\n\tline-height: 1.2;\n\tcolor: var(--foreground, #171717);\n}\n\n.qti-stimulus-body h2 {\n\tdisplay: block;\n\tfont-size: 1.625rem;\n\tfont-weight: 700;\n\tmargin-top: 2rem;\n\tmargin-bottom: 1rem;\n\tline-height: 1.25;\n\tcolor: var(--foreground, #171717);\n}\n\n.qti-stimulus-body h3 {\n\tdisplay: block;\n\tfont-size: 1.375rem;\n\tfont-weight: 600;\n\tmargin-top: 1.75rem;\n\tmargin-bottom: 0.75rem;\n\tline-height: 1.3;\n\tcolor: var(--foreground, #171717);\n}\n\n.qti-stimulus-body h4,\n.qti-stimulus-body h5,\n.qti-stimulus-body h6 {\n\tdisplay: block;\n\tfont-size: 1.125rem;\n\tfont-weight: 600;\n\tmargin-top: 1.5rem;\n\tmargin-bottom: 0.5rem;\n\tline-height: 1.4;\n\tcolor: var(--foreground, #171717);\n}\n\n/* First heading shouldn't have top margin */\n.qti-stimulus-body>h1:first-child,\n.qti-stimulus-body>h2:first-child,\n.qti-stimulus-body>h3:first-child {\n\tmargin-top: 0;\n}\n\n/* Paragraphs */\n.qti-stimulus-body p {\n\tdisplay: block;\n\tmargin-top: 0;\n\tmargin-bottom: 1.25rem;\n}\n\n/* Lists */\n.qti-stimulus-body ul,\n.qti-stimulus-body ol {\n\tdisplay: block;\n\tmargin-top: 0.75rem;\n\tmargin-bottom: 1.5rem;\n\tpadding-left: 2rem;\n}\n\n.qti-stimulus-body ul {\n\tlist-style-type: disc;\n}\n\n.qti-stimulus-body ol {\n\tlist-style-type: decimal;\n}\n\n.qti-stimulus-body li {\n\tdisplay: list-item;\n\tmargin-bottom: 0.625rem;\n\tline-height: 1.7;\n\tpadding-left: 0.25rem;\n}\n\n.qti-stimulus-body li:last-child {\n\tmargin-bottom: 0;\n}\n\n/* Nested lists */\n.qti-stimulus-body ul ul,\n.qti-stimulus-body ol ul {\n\tlist-style-type: circle;\n\tmargin-top: 0.5rem;\n\tmargin-bottom: 0.5rem;\n}\n\n.qti-stimulus-body ul ul ul,\n.qti-stimulus-body ol ul ul {\n\tlist-style-type: square;\n}\n\n/* Text formatting */\n.qti-stimulus-body strong,\n.qti-stimulus-body b {\n\tfont-weight: 700;\n}\n\n.qti-stimulus-body em,\n.qti-stimulus-body i {\n\tfont-style: italic;\n}\n\n/* Links - Macaw blue color */\n.qti-stimulus-body a {\n\tcolor: var(--color-macaw, oklch(0.7181 0.1513 237.07));\n\ttext-decoration: underline;\n\ttext-underline-offset: 3px;\n\ttext-decoration-thickness: 2px;\n\tfont-weight: 500;\n\ttransition: color 0.15s ease;\n}\n\n.qti-stimulus-body a:hover {\n\tcolor: var(--color-whale, oklch(0.55 0.15 237.07));\n\ttext-decoration-thickness: 2px;\n}\n\n/* Figures and images - centered with caption below */\n.qti-stimulus-body figure {\n\tdisplay: block;\n\tmargin: 2rem auto;\n\tpadding: 0;\n\tmax-width: 100%;\n\ttext-align: center;\n}\n\n.qti-stimulus-body figure img {\n\tdisplay: block;\n\tmax-width: 100%;\n\theight: auto;\n\tmargin: 0 auto;\n}\n\n.qti-stimulus-body figcaption {\n\tdisplay: block;\n\tmargin-top: 1rem;\n\tpadding: 0 1rem;\n\tfont-size: 0.9375rem;\n\tcolor: var(--muted-foreground, #737373);\n\ttext-align: center;\n\tline-height: 1.6;\n}\n\n/* Keep em in figcaption but not italic by default */\n.qti-stimulus-body figcaption em {\n\tfont-style: normal;\n}\n\n/* Links in figcaption */\n.qti-stimulus-body figcaption a {\n\tcolor: var(--color-macaw, oklch(0.7181 0.1513 237.07));\n\ttext-decoration: underline;\n\ttext-underline-offset: 2px;\n\ttext-decoration-thickness: 1px;\n\tfont-weight: 500;\n}\n\n.qti-stimulus-body figcaption a:hover {\n\tcolor: var(--color-whale, oklch(0.55 0.15 237.07));\n}\n\n/* Standalone images - inherit from qti-html-content img */\n\n/* Blockquotes */\n.qti-stimulus-body blockquote {\n\tdisplay: block;\n\tmargin: 1.5rem 0;\n\tpadding: 1rem 1.5rem;\n\tborder-left: 4px solid var(--color-macaw, oklch(0.7181 0.1513 237.07));\n\tbackground: var(--muted, #f4f4f5);\n\tborder-radius: 0 0.75rem 0.75rem 0;\n}\n\n.qti-stimulus-body blockquote p:last-child {\n\tmargin-bottom: 0;\n}\n\n/* Images in table cells - smaller for better fit */\n.qti-stimulus-body td img {\n\tmax-width: 150px;\n\tmax-height: 100px;\n\tmargin: 0;\n}\n\n/* Code */\n.qti-stimulus-body code {\n\tfont-family: ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Monaco, Consolas, monospace;\n\tfont-size: 0.875em;\n\tpadding: 0.125rem 0.375rem;\n\tbackground: var(--muted, #f4f4f5);\n\tborder-radius: 0.25rem;\n}\n\n.qti-stimulus-body pre {\n\tdisplay: block;\n\tmargin: 1.5rem 0;\n\tpadding: 1rem;\n\tbackground: var(--muted, #f4f4f5);\n\tborder-radius: 0.5rem;\n\toverflow-x: auto;\n}\n\n.qti-stimulus-body pre code {\n\tpadding: 0;\n\tbackground: none;\n}\n\n/* Details/Summary (collapsible sections) */\n.qti-stimulus-body details {\n\tdisplay: block;\n\tmargin: 1.5rem 0;\n\tpadding: 0;\n\tborder: 1px solid var(--border, #e5e5e5);\n\tborder-radius: 0.75rem;\n\toverflow: hidden;\n}\n\n.qti-stimulus-body details[open] {\n\tbackground: var(--muted, #f4f4f5);\n}\n\n.qti-stimulus-body summary {\n\tdisplay: list-item;\n\tpadding: 1rem 1.25rem;\n\tfont-weight: 600;\n\tcursor: pointer;\n\tbackground: var(--muted, #f4f4f5);\n\ttransition: background 0.15s ease;\n}\n\n.qti-stimulus-body summary:hover {\n\tbackground: var(--accent, #e5e5e5);\n}\n\n.qti-stimulus-body details[open] summary {\n\tborder-bottom: 1px solid var(--border, #e5e5e5);\n}\n\n.qti-stimulus-body details>*:not(summary) {\n\tpadding: 0 1.25rem;\n}\n\n.qti-stimulus-body details>p:first-of-type {\n\tmargin-top: 1rem;\n}\n\n.qti-stimulus-body details>*:last-child {\n\tmargin-bottom: 1rem;\n}"],"mappings":"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","names":[]}
package/dist/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- export { A as AnyCondition, c as AnyInteraction, d as AssessmentItem, C as ChoiceCorrectness, e as ChoiceInteraction, a as ContentBlockRendererProps, F as FeedbackBlock, G as GapMatchInteraction, I as InlineChoiceInteraction, M as MatchInteraction, O as OrderInteraction, Q as QTIRendererProps, b as QTITheme, f as ResponseDeclaration, R as ResponseFeedback, g as ResponseProcessing, T as TextEntryInteraction } from './schema-DZoGAQdF.js';
2
- export { D as DisplayAssociableChoice, a as DisplayBlock, b as DisplayChoice, c as DisplayChoiceInteraction, d as DisplayGap, e as DisplayGapText, f as DisplayInlineEmbed, g as DisplayItem, h as DisplayTextEmbed, F as FormShape, V as ValidateResult } from './types-B7YRTQKt.js';
1
+ export { C as ChoiceCorrectness, a as ContentBlockRendererProps, Q as QTIRendererProps, b as QTIStimulusRendererProps, c as QTITheme, R as ResponseFeedback } from './qti-stimulus-renderer-CSuLfoff.js';
2
+ export { b as AnyCondition, c as AnyInteraction, A as AssessmentItem, a as AssessmentStimulus, C as ChoiceInteraction, D as DisplayAssociableChoice, e as DisplayBlock, f as DisplayChoice, g as DisplayChoiceInteraction, h as DisplayGap, i as DisplayGapText, j as DisplayInlineEmbed, k as DisplayItem, l as DisplayTextEmbed, F as FeedbackBlock, m as FormShape, G as GapMatchInteraction, I as InlineChoiceInteraction, M as MatchInteraction, O as OrderInteraction, R as ResponseDeclaration, d as ResponseProcessing, T as TextEntryInteraction, V as ValidateResult } from './schema-DKduufCs.js';
3
3
  import 'react/jsx-runtime';
4
4
  import 'zod';
5
5
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superbuilders/incept-renderer",
3
- "version": "0.1.11",
3
+ "version": "0.1.13",
4
4
  "description": "QTI 3.0 Assessment Renderer - Parse, validate, and render QTI XML with customizable themes",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,102 +0,0 @@
1
- type DisplayChoice = {
2
- id: string;
3
- contentHtml: string;
4
- inlineFeedbackHtml?: string;
5
- };
6
- type DisplayChoiceInteraction = {
7
- type: "choice";
8
- responseId: string;
9
- cardinality: "single" | "multiple";
10
- promptHtml: string;
11
- choices: DisplayChoice[];
12
- minChoices: number;
13
- maxChoices: number;
14
- };
15
- type DisplayTextInteraction = {
16
- type: "text";
17
- responseId: string;
18
- expectedLength?: number;
19
- placeholder?: string;
20
- patternMask?: string;
21
- };
22
- type DisplayTextEmbed = {
23
- responseId: string;
24
- expectedLength?: number;
25
- placeholder?: string;
26
- patternMask?: string;
27
- };
28
- type DisplayOrderInteraction = {
29
- type: "order";
30
- responseId: string;
31
- promptHtml: string;
32
- choices: DisplayChoice[];
33
- orientation: "vertical" | "horizontal";
34
- };
35
- type DisplayGapText = {
36
- id: string;
37
- contentHtml: string;
38
- matchMax: number;
39
- };
40
- type DisplayGap = {
41
- id: string;
42
- };
43
- type DisplayGapMatchInteraction = {
44
- type: "gapMatch";
45
- responseId: string;
46
- gapTexts: DisplayGapText[];
47
- gaps: DisplayGap[];
48
- contentHtml: string;
49
- };
50
- type DisplayAssociableChoice = {
51
- id: string;
52
- contentHtml: string;
53
- matchMax: number;
54
- };
55
- type DisplayMatchInteraction = {
56
- type: "match";
57
- responseId: string;
58
- promptHtml: string;
59
- maxAssociations: number;
60
- sourceChoices: DisplayAssociableChoice[];
61
- targetChoices: DisplayAssociableChoice[];
62
- };
63
- type DisplayInteraction = DisplayChoiceInteraction | DisplayTextInteraction | DisplayOrderInteraction | DisplayGapMatchInteraction | DisplayMatchInteraction;
64
- type DisplayInlineEmbed = {
65
- responseId: string;
66
- shuffle: boolean;
67
- choices: Array<Pick<DisplayChoice, "id" | "contentHtml">>;
68
- };
69
- type DisplayBlock = {
70
- type: "stimulus";
71
- html: string;
72
- } | {
73
- type: "richStimulus";
74
- html: string;
75
- inlineEmbeds: Record<string, DisplayInlineEmbed>;
76
- textEmbeds: Record<string, DisplayTextEmbed>;
77
- } | {
78
- type: "interaction";
79
- interaction: DisplayInteraction;
80
- };
81
- type DisplayItem = {
82
- title: string;
83
- contentBlocks: DisplayBlock[];
84
- };
85
- type FormShape = Record<string, "single" | "multiple" | "ordered" | "directedPair">;
86
- type ValidateResult = {
87
- overallCorrect: boolean;
88
- perResponse: Record<string, {
89
- isCorrect: boolean;
90
- messageHtml?: string;
91
- }>;
92
- selectedChoicesByResponse: Record<string, Array<{
93
- id: string;
94
- isCorrect: boolean;
95
- }>>;
96
- overallFeedback?: {
97
- isCorrect: boolean;
98
- messageHtml?: string;
99
- };
100
- };
101
-
102
- export type { DisplayAssociableChoice as D, FormShape as F, ValidateResult as V, DisplayBlock as a, DisplayChoice as b, DisplayChoiceInteraction as c, DisplayGap as d, DisplayGapText as e, DisplayInlineEmbed as f, DisplayItem as g, DisplayTextEmbed as h };