@mathwiz/ui-components 0.1.16 → 0.1.22
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.
- package/README.md +111 -38
- package/dist/App.css +566 -0
- package/dist/App.d.ts.map +1 -0
- package/dist/components/Button/Button.css +214 -0
- package/dist/components/Button/Button.d.ts.map +1 -0
- package/dist/components/Button/index.d.ts.map +1 -0
- package/dist/components/Button/types.d.ts +49 -0
- package/dist/components/Button/types.d.ts.map +1 -0
- package/dist/components/ContentAccordion/ContentAccordion.css +281 -0
- package/dist/components/ContentAccordion/ContentAccordion.d.ts.map +1 -0
- package/dist/components/ContentAccordion/index.d.ts.map +1 -0
- package/dist/components/ContentAccordion/types.d.ts.map +1 -0
- package/dist/components/EquationRender/EquationRender.css +42 -0
- package/dist/components/EquationRender/EquationRender.d.ts.map +1 -0
- package/dist/components/EquationRender/index.d.ts.map +1 -0
- package/dist/components/EquationRender/types.d.ts.map +1 -0
- package/dist/components/GeometryTransform/GeometryTransform.css +346 -0
- package/dist/components/GeometryTransform/GeometryTransform.d.ts +6 -0
- package/dist/components/GeometryTransform/GeometryTransform.d.ts.map +1 -0
- package/dist/components/GeometryTransform/composition/TransformCompositor.d.ts +63 -0
- package/dist/components/GeometryTransform/composition/TransformCompositor.d.ts.map +1 -0
- package/dist/components/GeometryTransform/composition/TransformPipeline.d.ts +78 -0
- package/dist/components/GeometryTransform/composition/TransformPipeline.d.ts.map +1 -0
- package/dist/components/GeometryTransform/composition/index.d.ts +3 -0
- package/dist/components/GeometryTransform/composition/index.d.ts.map +1 -0
- package/dist/components/GeometryTransform/executors/FillColorSetExecutor.d.ts +34 -0
- package/dist/components/GeometryTransform/executors/FillColorSetExecutor.d.ts.map +1 -0
- package/dist/components/GeometryTransform/executors/RotationExecutor.d.ts +15 -0
- package/dist/components/GeometryTransform/executors/RotationExecutor.d.ts.map +1 -0
- package/dist/components/GeometryTransform/executors/ScaleExecutor.d.ts +20 -0
- package/dist/components/GeometryTransform/executors/ScaleExecutor.d.ts.map +1 -0
- package/dist/components/GeometryTransform/executors/TransformExecutor.d.ts +53 -0
- package/dist/components/GeometryTransform/executors/TransformExecutor.d.ts.map +1 -0
- package/dist/components/GeometryTransform/executors/TransformExecutorRegistry.d.ts +84 -0
- package/dist/components/GeometryTransform/executors/TransformExecutorRegistry.d.ts.map +1 -0
- package/dist/components/GeometryTransform/executors/TranslationExecutor.d.ts +14 -0
- package/dist/components/GeometryTransform/executors/TranslationExecutor.d.ts.map +1 -0
- package/dist/components/GeometryTransform/executors/index.d.ts +9 -0
- package/dist/components/GeometryTransform/executors/index.d.ts.map +1 -0
- package/dist/components/GeometryTransform/hooks/useKeyboardNavigation.d.ts +8 -0
- package/dist/components/GeometryTransform/hooks/useKeyboardNavigation.d.ts.map +1 -0
- package/dist/components/GeometryTransform/hooks/useTransformProgress.d.ts +10 -0
- package/dist/components/GeometryTransform/hooks/useTransformProgress.d.ts.map +1 -0
- package/dist/components/GeometryTransform/index.d.ts +5 -0
- package/dist/components/GeometryTransform/index.d.ts.map +1 -0
- package/dist/components/GeometryTransform/types/composition.d.ts +23 -0
- package/dist/components/GeometryTransform/types/composition.d.ts.map +1 -0
- package/dist/components/GeometryTransform/types/groupMatching.d.ts +21 -0
- package/dist/components/GeometryTransform/types/groupMatching.d.ts.map +1 -0
- package/dist/components/GeometryTransform/types/index.d.ts +8 -0
- package/dist/components/GeometryTransform/types/index.d.ts.map +1 -0
- package/dist/components/GeometryTransform/types/primitives.d.ts +42 -0
- package/dist/components/GeometryTransform/types/primitives.d.ts.map +1 -0
- package/dist/components/GeometryTransform/types/transform.d.ts +16 -0
- package/dist/components/GeometryTransform/types/transform.d.ts.map +1 -0
- package/dist/components/GeometryTransform/types.d.ts +193 -0
- package/dist/components/GeometryTransform/types.d.ts.map +1 -0
- package/dist/components/GeometryTransform/utils/GroupMatcher.d.ts +32 -0
- package/dist/components/GeometryTransform/utils/GroupMatcher.d.ts.map +1 -0
- package/dist/components/GeometryTransform/utils/colorUtils.d.ts +74 -0
- package/dist/components/GeometryTransform/utils/colorUtils.d.ts.map +1 -0
- package/dist/components/GeometryTransform/utils/geometryCalculations.d.ts +26 -0
- package/dist/components/GeometryTransform/utils/geometryCalculations.d.ts.map +1 -0
- package/dist/components/GeometryTransform/utils/transformAlgorithms.d.ts +42 -0
- package/dist/components/GeometryTransform/utils/transformAlgorithms.d.ts.map +1 -0
- package/dist/components/GeometryTransform/utils/validation.d.ts +19 -0
- package/dist/components/GeometryTransform/utils/validation.d.ts.map +1 -0
- package/dist/{react-storybook-mcp/src/components → components}/GradeNavigation.d.ts +1 -2
- package/dist/components/GradeNavigation.d.ts.map +1 -0
- package/dist/components/Header.d.ts.map +1 -0
- package/dist/components/HundredChart/HundredChart.css +75 -0
- package/dist/components/HundredChart/HundredChart.d.ts.map +1 -0
- package/dist/components/HundredChart/HundredChart.store.d.ts.map +1 -0
- package/dist/components/HundredChart/HundredChart.types.d.ts.map +1 -0
- package/dist/{react-storybook-mcp/src/components → components}/HundredChart/HundredChart.utils.d.ts +1 -1
- package/dist/components/HundredChart/HundredChart.utils.d.ts.map +1 -0
- package/dist/components/HundredChart/index.d.ts.map +1 -0
- package/dist/components/IXLStyleCard/IXLStyleCard.css +197 -0
- package/dist/components/IXLStyleCard/IXLStyleCard.d.ts +32 -0
- package/dist/components/IXLStyleCard/IXLStyleCard.d.ts.map +1 -0
- package/dist/components/IXLStyleCard/IXLStyleCard.types.d.ts +171 -0
- package/dist/components/IXLStyleCard/IXLStyleCard.types.d.ts.map +1 -0
- package/dist/components/IXLStyleCard/hooks/useIXLStyle.d.ts +26 -0
- package/dist/components/IXLStyleCard/hooks/useIXLStyle.d.ts.map +1 -0
- package/dist/components/IXLStyleCard/hooks/useResponsive.d.ts +27 -0
- package/dist/components/IXLStyleCard/hooks/useResponsive.d.ts.map +1 -0
- package/dist/components/IXLStyleCard/index.d.ts +8 -0
- package/dist/components/IXLStyleCard/index.d.ts.map +1 -0
- package/dist/components/MainContent.d.ts.map +1 -0
- package/dist/components/MathCard/MathCard.d.ts.map +1 -0
- package/dist/components/MathCard/MathCard.types.d.ts.map +1 -0
- package/dist/components/MathCard/components/AnswerInput.d.ts +4 -0
- package/dist/components/MathCard/components/AnswerInput.d.ts.map +1 -0
- package/dist/components/MathCard/components/Banner.d.ts.map +1 -0
- package/dist/components/MathCard/components/Divider.d.ts.map +1 -0
- package/dist/components/MathCard/components/ErrorState.d.ts.map +1 -0
- package/dist/components/MathCard/components/Explanation.d.ts.map +1 -0
- package/dist/components/MathCard/components/LoadingState.d.ts.map +1 -0
- package/dist/components/MathCard/components/Question.d.ts.map +1 -0
- package/dist/components/MathCard/components/SubmitButton.d.ts.map +1 -0
- package/dist/components/MathCard/context.d.ts.map +1 -0
- package/dist/components/MathCard/index.d.ts.map +1 -0
- package/dist/components/MathCard/styles.d.ts.map +1 -0
- package/dist/components/MathCard/utils/contentRenderer.d.ts.map +1 -0
- package/dist/components/MathCard/utils/templateParser.d.ts.map +1 -0
- package/dist/components/MathCardV2/AgeProblemSessionPage.d.ts.map +1 -0
- package/dist/components/MathCardV2/DecimalNumberRecognitionSessionPage.d.ts.map +1 -0
- package/dist/components/MathCardV2/DecimalNumberRecognitionSessionStore.d.ts.map +1 -0
- package/dist/{react-storybook-mcp/src/components/MathCardV2/ExplanationStep.d.ts → components/MathCardV2/ExplanationStep.backup.d.ts} +1 -1
- package/dist/components/MathCardV2/ExplanationStep.backup.d.ts.map +1 -0
- package/dist/components/MathCardV2/ExplanationStep.css +105 -0
- package/dist/components/MathCardV2/ExplanationStep.d.ts +34 -0
- package/dist/components/MathCardV2/ExplanationStep.d.ts.map +1 -0
- package/dist/components/MathCardV2/MathCardV2.css +74 -0
- package/dist/{react-storybook-mcp/src/components → components}/MathCardV2/MathCardV2.d.ts +1 -0
- package/dist/components/MathCardV2/MathCardV2.d.ts.map +1 -0
- package/dist/{react-storybook-mcp/src/components → components}/MathCardV2/MathCardV2.types.d.ts +132 -1
- package/dist/components/MathCardV2/MathCardV2.types.d.ts.map +1 -0
- package/dist/{react-storybook-mcp/src/components → components}/MathCardV2/MathPracticeSessionIndex.d.ts +6 -6
- package/dist/components/MathCardV2/MathPracticeSessionIndex.d.ts.map +1 -0
- package/dist/components/MathCardV2/MathPracticeSessionPage.d.ts.map +1 -0
- package/dist/{react-storybook-mcp/src/components → components}/MathCardV2/MathPracticeSessionStore.d.ts +8 -1
- package/dist/components/MathCardV2/MathPracticeSessionStore.d.ts.map +1 -0
- package/dist/components/MathCardV2/MathPracticeSessionTypes.d.ts +266 -0
- package/dist/components/MathCardV2/MathPracticeSessionTypes.d.ts.map +1 -0
- package/dist/components/MathCardV2/MathPracticeStoreContext.d.ts +62 -0
- package/dist/components/MathCardV2/MathPracticeStoreContext.d.ts.map +1 -0
- package/dist/components/MathCardV2/MathPracticeStoreHooks.d.ts +50 -0
- package/dist/components/MathCardV2/MathPracticeStoreHooks.d.ts.map +1 -0
- package/dist/components/MathCardV2/components/GraphController.d.ts.map +1 -0
- package/dist/components/MathCardV2/components/MeetingProblemContainer.d.ts.map +1 -0
- package/dist/components/MathCardV2/components/StepNavigation.d.ts.map +1 -0
- package/dist/components/MathCardV2/components/content/FormulaContent.d.ts.map +1 -0
- package/dist/components/MathCardV2/components/content/GeometryTransformContent.d.ts +4 -0
- package/dist/components/MathCardV2/components/content/GeometryTransformContent.d.ts.map +1 -0
- package/dist/components/MathCardV2/components/content/GraphContent.d.ts.map +1 -0
- package/dist/components/MathCardV2/components/content/PlaceValueChart.d.ts.map +1 -0
- package/dist/components/MathCardV2/components/content/TextContent.d.ts.map +1 -0
- package/dist/components/MathCardV2/components/layouts/CardLayout.css +33 -0
- package/dist/{react-storybook-mcp/src/components → components}/MathCardV2/components/layouts/CardLayout.d.ts +1 -0
- package/dist/components/MathCardV2/components/layouts/CardLayout.d.ts.map +1 -0
- package/dist/components/MathCardV2/components/layouts/FlowLayout.css +19 -0
- package/dist/{react-storybook-mcp/src/components → components}/MathCardV2/components/layouts/FlowLayout.d.ts +1 -0
- package/dist/components/MathCardV2/components/layouts/FlowLayout.d.ts.map +1 -0
- package/dist/components/MathCardV2/components/layouts/GridLayout.css +20 -0
- package/dist/{react-storybook-mcp/src/components → components}/MathCardV2/components/layouts/GridLayout.d.ts +1 -0
- package/dist/components/MathCardV2/components/layouts/GridLayout.d.ts.map +1 -0
- package/dist/components/MathCardV2/components/renderers/ContentRenderer.d.ts.map +1 -0
- package/dist/components/MathCardV2/context.d.ts.map +1 -0
- package/dist/components/MathCardV2/data/decimalNumberRecognitionData.d.ts.map +1 -0
- package/dist/components/MathCardV2/data/geometryTransformExample.d.ts +13 -0
- package/dist/components/MathCardV2/data/geometryTransformExample.d.ts.map +1 -0
- package/dist/components/MathCardV2/hooks/useContentRenderer.d.ts.map +1 -0
- package/dist/components/MathCardV2/hooks/useDataAdapter.d.ts.map +1 -0
- package/dist/components/MathCardV2/hooks/useMeetingProblemAdapter.d.ts.map +1 -0
- package/dist/components/MathCardV2/index.d.ts.map +1 -0
- package/dist/components/MathCardV2/modules/RememberModule/RememberModule.css +50 -0
- package/dist/{react-storybook-mcp/src/components/MathCardV2 → components/MathCardV2/modules/RememberModule}/RememberModule.d.ts +2 -1
- package/dist/components/MathCardV2/modules/RememberModule/RememberModule.d.ts.map +1 -0
- package/dist/components/MathCardV2/modules/RememberModule/index.d.ts +3 -0
- package/dist/components/MathCardV2/modules/RememberModule/index.d.ts.map +1 -0
- package/dist/components/MathCardV2/modules/ReviewModule/ReviewModule.css +52 -0
- package/dist/{react-storybook-mcp/src/components/MathCardV2 → components/MathCardV2/modules/ReviewModule}/ReviewModule.d.ts +2 -1
- package/dist/components/MathCardV2/modules/ReviewModule/ReviewModule.d.ts.map +1 -0
- package/dist/components/MathCardV2/modules/ReviewModule/index.d.ts +3 -0
- package/dist/components/MathCardV2/modules/ReviewModule/index.d.ts.map +1 -0
- package/dist/components/MathCardV2/modules/SolveModule/SolveModule.css +88 -0
- package/dist/{react-storybook-mcp/src/components/MathCardV2 → components/MathCardV2/modules/SolveModule}/SolveModule.d.ts +2 -1
- package/dist/components/MathCardV2/modules/SolveModule/SolveModule.d.ts.map +1 -0
- package/dist/components/MathCardV2/modules/SolveModule/index.d.ts +3 -0
- package/dist/components/MathCardV2/modules/SolveModule/index.d.ts.map +1 -0
- package/dist/components/MathCardV2/modules/index.d.ts +4 -0
- package/dist/components/MathCardV2/modules/index.d.ts.map +1 -0
- package/dist/components/MathCardV2/scenes/DecimalNumberExplanationScene/DecimalNumberExplanationScene.css +109 -0
- package/dist/{react-storybook-mcp/src/components/MathCardV2 → components/MathCardV2/scenes/DecimalNumberExplanationScene}/DecimalNumberExplanationScene.d.ts +2 -1
- package/dist/components/MathCardV2/scenes/DecimalNumberExplanationScene/DecimalNumberExplanationScene.d.ts.map +1 -0
- package/dist/components/MathCardV2/scenes/DecimalNumberExplanationScene/index.d.ts +3 -0
- package/dist/components/MathCardV2/scenes/DecimalNumberExplanationScene/index.d.ts.map +1 -0
- package/dist/components/MathCardV2/scenes/ExplanationScene/ExplanationScene.css +144 -0
- package/dist/{react-storybook-mcp/src/components/MathCardV2 → components/MathCardV2/scenes/ExplanationScene}/ExplanationScene.d.ts +2 -1
- package/dist/components/MathCardV2/scenes/ExplanationScene/ExplanationScene.d.ts.map +1 -0
- package/dist/components/MathCardV2/scenes/ExplanationScene/index.d.ts +3 -0
- package/dist/components/MathCardV2/scenes/ExplanationScene/index.d.ts.map +1 -0
- package/dist/components/MathCardV2/scenes/QuestionScene/QuestionScene.css +121 -0
- package/dist/{react-storybook-mcp/src/components/MathCardV2 → components/MathCardV2/scenes/QuestionScene}/QuestionScene.d.ts +2 -1
- package/dist/components/MathCardV2/scenes/QuestionScene/QuestionScene.d.ts.map +1 -0
- package/dist/components/MathCardV2/scenes/QuestionScene/index.d.ts +3 -0
- package/dist/components/MathCardV2/scenes/QuestionScene/index.d.ts.map +1 -0
- package/dist/components/MathCardV2/scenes/SuccessScene/SuccessScene.css +53 -0
- package/dist/{react-storybook-mcp/src/components/MathCardV2 → components/MathCardV2/scenes/SuccessScene}/SuccessScene.d.ts +2 -1
- package/dist/components/MathCardV2/scenes/SuccessScene/SuccessScene.d.ts.map +1 -0
- package/dist/components/MathCardV2/scenes/SuccessScene/index.d.ts +3 -0
- package/dist/components/MathCardV2/scenes/SuccessScene/index.d.ts.map +1 -0
- package/dist/components/MathCardV2/scenes/index.d.ts +5 -0
- package/dist/components/MathCardV2/scenes/index.d.ts.map +1 -0
- package/dist/components/MathCardV2/types/MeetingProblem.types.d.ts.map +1 -0
- package/dist/{react-storybook-mcp/src/components → components}/MathGraph/GraphContainer.d.ts +3 -0
- package/dist/components/MathGraph/GraphContainer.d.ts.map +1 -0
- package/dist/components/MathGraph/MathGraph.d.ts.map +1 -0
- package/dist/components/MathGraph/MathGraphErrorBoundary.d.ts.map +1 -0
- package/dist/components/MathGraph/__tests__/testData/slider-control-animation.json +51 -0
- package/dist/components/MathGraph/animation.types.d.ts +164 -0
- package/dist/components/MathGraph/animation.types.d.ts.map +1 -0
- package/dist/components/MathGraph/index.d.ts.map +1 -0
- package/dist/{react-storybook-mcp/src/components → components}/MathGraph/types.d.ts +38 -0
- package/dist/components/MathGraph/types.d.ts.map +1 -0
- package/dist/components/MathGraph/utils/boundingBoxCalculator.d.ts.map +1 -0
- package/dist/components/MathGraph/utils/debugBoundingBox.d.ts.map +1 -0
- package/dist/{react-storybook-mcp/src/components → components}/MathGraph/utils/manualCalculation.d.ts +5 -2
- package/dist/{react-storybook-mcp/src/components → components}/MathGraph/utils/manualCalculation.d.ts.map +1 -1
- package/dist/components/MathGraph/utils/realTimeTest.d.ts.map +1 -0
- package/dist/components/MathGraph/utils/testBoundingBox.d.ts.map +1 -0
- package/dist/components/MathGraph/utils/testRefResolution.d.ts.map +1 -0
- package/dist/components/MathGraph/utils/transformUtils.d.ts +98 -0
- package/dist/components/MathGraph/utils/transformUtils.d.ts.map +1 -0
- package/dist/components/MathSessionContainer/MathSessionContainer.d.ts.map +1 -0
- package/dist/components/MathSessionContainer/MathSessionContainer.types.d.ts.map +1 -0
- package/dist/components/MathSessionContainer/hooks/index.d.ts.map +1 -0
- package/dist/components/MathSessionContainer/hooks/useGeometryManagement.d.ts.map +1 -0
- package/dist/components/MathSessionContainer/hooks/useSessionCalculations.d.ts.map +1 -0
- package/dist/components/MathSessionContainer/hooks/useSessionEventHandlers.d.ts.map +1 -0
- package/dist/components/MathSessionContainer/index.d.ts.map +1 -0
- package/dist/components/MathWizHeader/MathWizHeader.css +333 -0
- package/dist/components/MathWizHeader/MathWizHeader.d.ts.map +1 -0
- package/dist/components/MathWizHeader/MathWizHeader.types.backup.d.ts.map +1 -0
- package/dist/components/MathWizHeader/MathWizHeader.types.d.ts.map +1 -0
- package/dist/components/MathWizHeader/index.d.ts.map +1 -0
- package/dist/components/Sidebar/Sidebar.css +207 -0
- package/dist/components/Sidebar/Sidebar.d.ts.map +1 -0
- package/dist/components/Sidebar/index.d.ts.map +1 -0
- package/dist/components/Sidebar/types.d.ts.map +1 -0
- package/dist/components/Submenu/Submenu.css +98 -0
- package/dist/components/Submenu/Submenu.d.ts.map +1 -0
- package/dist/components/UserProfile/UserProfile.css +141 -0
- package/dist/components/UserProfile/UserProfile.d.ts.map +1 -0
- package/dist/components/UserProfile/index.d.ts.map +1 -0
- package/dist/components/components.css +222 -0
- package/dist/components/radarAbility/AbilityAssessmentDashboard/AbilityAssessmentDashboard.d.ts.map +1 -0
- package/dist/components/radarAbility/AbilityAssessmentDashboard/AbilityAssessmentDashboard.module.css +60 -0
- package/dist/components/radarAbility/AbilityAssessmentDashboard/AbilityAssessmentDashboard.storybook.d.ts.map +1 -0
- package/dist/components/radarAbility/AbilityProgressBar/AbilityProgressBar.d.ts.map +1 -0
- package/dist/components/radarAbility/PersonalizedAdvicePanel/PersonalizedAdvicePanel.d.ts.map +1 -0
- package/dist/components/radarAbility/RadarChart/RadarChart.d.ts.map +1 -0
- package/dist/components/radarAbility/RecommendationCard/RecommendationCard.d.ts.map +1 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/utils.d.ts.map +1 -0
- package/dist/data/EstimateProductofDecimals.json +100 -0
- package/dist/data/GeometryProblemAdapterV4/GeometryAdapterCore.d.ts +89 -0
- package/dist/data/GeometryProblemAdapterV4/GeometryAdapterCore.d.ts.map +1 -0
- package/dist/data/GeometryProblemAdapterV4/index.d.ts +92 -0
- package/dist/data/GeometryProblemAdapterV4/index.d.ts.map +1 -0
- package/dist/data/GeometryProblemAdapterV4/jsondata/age-problem-compatible.json +203 -0
- package/dist/data/GeometryProblemAdapterV4/jsondata/parallelogram-revised.json +722 -0
- package/dist/data/GeometryProblemAdapterV4/jsondata/trapezoid-v4-final.json +470 -0
- package/dist/data/GeometryProblemAdapterV4/jsondata/triangle-v4-final.json +632 -0
- package/dist/data/GeometryProblemAdapterV4/types.d.ts +281 -0
- package/dist/data/GeometryProblemAdapterV4/types.d.ts.map +1 -0
- package/dist/data/RectangleAreaCalculation.json +582 -0
- package/dist/data/TriangleAdapterV3/TriangleAdapterV3.stories.new.d.ts +102 -0
- package/dist/data/TriangleAdapterV3/TriangleAdapterV3.stories.new.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/TriangleAdapterV3Demo.d.ts +11 -0
- package/dist/data/TriangleAdapterV3/TriangleAdapterV3Demo.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/bridge/asyncBridge.d.ts +81 -0
- package/dist/data/TriangleAdapterV3/bridge/asyncBridge.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/bridge/index.d.ts +46 -0
- package/dist/data/TriangleAdapterV3/bridge/index.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/config/embeddedConfigs.d.ts +1154 -0
- package/dist/data/TriangleAdapterV3/config/embeddedConfigs.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/config/index.d.ts +779 -0
- package/dist/data/TriangleAdapterV3/config/index.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/constants.d.ts +204 -0
- package/dist/data/TriangleAdapterV3/constants.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/core/configLoader.d.ts +79 -0
- package/dist/data/TriangleAdapterV3/core/configLoader.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/core/errorHandler.d.ts +111 -0
- package/dist/data/TriangleAdapterV3/core/errorHandler.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/core/index.d.ts +50 -0
- package/dist/data/TriangleAdapterV3/core/index.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/core/syncAdapter.d.ts +126 -0
- package/dist/data/TriangleAdapterV3/core/syncAdapter.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/index.d.ts +106 -0
- package/dist/data/TriangleAdapterV3/index.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/resolvers/animationRefResolver.d.ts +71 -0
- package/dist/data/TriangleAdapterV3/resolvers/animationRefResolver.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/resolvers/designTokenResolver.d.ts +44 -0
- package/dist/data/TriangleAdapterV3/resolvers/designTokenResolver.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/resolvers/geometryRefResolver.d.ts +53 -0
- package/dist/data/TriangleAdapterV3/resolvers/geometryRefResolver.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/resolvers/geometryTransformRefResolver.d.ts +49 -0
- package/dist/data/TriangleAdapterV3/resolvers/geometryTransformRefResolver.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/resolvers/index.d.ts +101 -0
- package/dist/data/TriangleAdapterV3/resolvers/index.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/resolvers/layoutRefResolver.d.ts +57 -0
- package/dist/data/TriangleAdapterV3/resolvers/layoutRefResolver.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/resolvers/referenceExtractor.d.ts +104 -0
- package/dist/data/TriangleAdapterV3/resolvers/referenceExtractor.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/resolvers/sliderRefResolver.d.ts +92 -0
- package/dist/data/TriangleAdapterV3/resolvers/sliderRefResolver.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/resolvers/styleRefResolver.d.ts +53 -0
- package/dist/data/TriangleAdapterV3/resolvers/styleRefResolver.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/resolvers/transformRefResolver.d.ts +57 -0
- package/dist/data/TriangleAdapterV3/resolvers/transformRefResolver.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/testData/Acute-Triangle-area-data-v2-externalized.json +692 -0
- package/dist/data/TriangleAdapterV3/transformers/geometryTransformTransformer.d.ts +79 -0
- package/dist/data/TriangleAdapterV3/transformers/geometryTransformTransformer.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/transformers/graphTransformer.d.ts +62 -0
- package/dist/data/TriangleAdapterV3/transformers/graphTransformer.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/transformers/index.d.ts +101 -0
- package/dist/data/TriangleAdapterV3/transformers/index.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/transformers/textTransformer.d.ts +72 -0
- package/dist/data/TriangleAdapterV3/transformers/textTransformer.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/types.d.ts +250 -0
- package/dist/data/TriangleAdapterV3/types.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/utils/index.d.ts +47 -0
- package/dist/data/TriangleAdapterV3/utils/index.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/utils/performanceUtils.d.ts +95 -0
- package/dist/data/TriangleAdapterV3/utils/performanceUtils.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/utils/referenceUtils.d.ts +69 -0
- package/dist/data/TriangleAdapterV3/utils/referenceUtils.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/validators/index.d.ts +61 -0
- package/dist/data/TriangleAdapterV3/validators/index.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/validators/inputValidator.d.ts +61 -0
- package/dist/data/TriangleAdapterV3/validators/inputValidator.d.ts.map +1 -0
- package/dist/data/TriangleAdapterV3/validators/outputValidator.d.ts +60 -0
- package/dist/data/TriangleAdapterV3/validators/outputValidator.d.ts.map +1 -0
- package/dist/data/config/animation-definitions.json +61 -0
- package/dist/data/config/appearance-definitions.json +53 -0
- package/dist/data/config/board-configs.json +33 -0
- package/dist/data/config/design-tokens.json +47 -0
- package/dist/data/config/geometry-presets.json +107 -0
- package/dist/data/config/layout-presets.json +42 -0
- package/dist/data/config/style-presets.json +107 -0
- package/dist/data/courseData.d.ts.map +1 -0
- package/dist/data/dataSchema/math-problem.types.d.ts +278 -0
- package/dist/data/dataSchema/math-problem.types.d.ts.map +1 -0
- package/dist/data/dataSchema/mathProblemDataSchema.json +719 -0
- package/dist/data/datamockmathGraph.json +449 -0
- package/dist/data/examples/unified-data-import-example.d.ts +30 -0
- package/dist/data/examples/unified-data-import-example.d.ts.map +1 -0
- package/dist/data/mockData.d.ts.map +1 -0
- package/dist/data/userCourseProgress.d.ts.map +1 -0
- package/dist/data/usergradeuintsnav.d.ts.map +1 -0
- package/dist/data/usergradeunitsProgressData.d.ts.map +1 -0
- package/dist/data/utils/DataFormatDetector.d.ts +52 -0
- package/dist/data/utils/DataFormatDetector.d.ts.map +1 -0
- package/dist/{react-storybook-mcp/src/data-sources → data-sources}/api-data-source.d.ts +4 -0
- package/dist/data-sources/api-data-source.d.ts.map +1 -0
- package/dist/{react-storybook-mcp/src/data-sources → data-sources}/custom-data-source.d.ts +2 -1
- package/dist/data-sources/custom-data-source.d.ts.map +1 -0
- package/dist/data-sources/factory.d.ts.map +1 -0
- package/dist/data-sources/index.d.ts.map +1 -0
- package/dist/{react-storybook-mcp/src/data-sources → data-sources}/mock-data-source.d.ts +4 -0
- package/dist/data-sources/mock-data-source.d.ts.map +1 -0
- package/dist/data-sources/types.d.ts.map +1 -0
- package/dist/demo/configurable-demo.d.ts.map +1 -0
- package/dist/design-tokens.source.json +1 -0
- package/dist/index.cjs +142 -617
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +67 -0
- package/dist/{react-storybook-mcp/src/index.d.ts → index.d.ts} +20 -2
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +16543 -69675
- package/dist/index.mjs.map +1 -1
- package/dist/main.d.ts.map +1 -0
- package/dist/mockServiceWorker.js +349 -348
- package/dist/mocks/browser.d.ts.map +1 -0
- package/dist/mocks/handlers.d.ts.map +1 -0
- package/dist/mocks/server.d.ts.map +1 -0
- package/dist/pages/AreaCalculationSessionPage/ParallelogramAreaCalculationSessionPage.d.ts +9 -0
- package/dist/pages/AreaCalculationSessionPage/ParallelogramAreaCalculationSessionPage.d.ts.map +1 -0
- package/dist/pages/AreaCalculationSessionPage/TriangleAreaCalculationSessionPage/TriangleAreaCalculationSessionPage.d.ts +31 -0
- package/dist/pages/AreaCalculationSessionPage/TriangleAreaCalculationSessionPage/TriangleAreaCalculationSessionPage.d.ts.map +1 -0
- package/dist/pages/AreaCalculationSessionPage/TriangleAreaCalculationSessionPage/data/index.d.ts +3 -0
- package/dist/pages/AreaCalculationSessionPage/TriangleAreaCalculationSessionPage/data/index.d.ts.map +1 -0
- package/dist/pages/AreaCalculationSessionPage/TriangleAreaCalculationSessionPage/data/triangleAreaData.d.ts +87 -0
- package/dist/pages/AreaCalculationSessionPage/TriangleAreaCalculationSessionPage/data/triangleAreaData.d.ts.map +1 -0
- package/dist/pages/AreaCalculationSessionPage/TriangleAreaCalculationSessionPage/index.d.ts +3 -0
- package/dist/pages/AreaCalculationSessionPage/TriangleAreaCalculationSessionPage/index.d.ts.map +1 -0
- package/dist/pages/AreaCalculationSessionPage/data/geometryTransformConfig.d.ts +71 -0
- package/dist/pages/AreaCalculationSessionPage/data/geometryTransformConfig.d.ts.map +1 -0
- package/dist/pages/AreaCalculationSessionPage/data/index.d.ts +2 -0
- package/dist/pages/AreaCalculationSessionPage/data/index.d.ts.map +1 -0
- package/dist/pages/AreaCalculationSessionPage/data/parallelogramAreaData.d.ts +8 -0
- package/dist/pages/AreaCalculationSessionPage/data/parallelogramAreaData.d.ts.map +1 -0
- package/dist/pages/AreaCalculationSessionPage/index.d.ts +2 -0
- package/dist/pages/AreaCalculationSessionPage/index.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/AreaGeometrySessionPage.d.ts +28 -0
- package/dist/pages/AreaGeometrySessionPage/AreaGeometrySessionPage.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/AreaGeometrySessionPage.stories.backup.d.ts +50 -0
- package/dist/pages/AreaGeometrySessionPage/AreaGeometrySessionPage.stories.backup.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/acutetriangleareaSessionPage/AcuteTriangleAreaSessionPage.d.ts +29 -0
- package/dist/pages/AreaGeometrySessionPage/acutetriangleareaSessionPage/AcuteTriangleAreaSessionPage.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/acutetriangleareaSessionPage/index.d.ts +3 -0
- package/dist/pages/AreaGeometrySessionPage/acutetriangleareaSessionPage/index.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/acutetriangleareaSessionPage/types.d.ts +8 -0
- package/dist/pages/AreaGeometrySessionPage/acutetriangleareaSessionPage/types.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/acutetriangleareaSessionPageV2/AcuteTriangleAreaSessionPageV2.d.ts +33 -0
- package/dist/pages/AreaGeometrySessionPage/acutetriangleareaSessionPageV2/AcuteTriangleAreaSessionPageV2.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/acutetriangleareaSessionPageV2/index.d.ts +3 -0
- package/dist/pages/AreaGeometrySessionPage/acutetriangleareaSessionPageV2/index.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/acutetriangleareaSessionPageV2/types.d.ts +8 -0
- package/dist/pages/AreaGeometrySessionPage/acutetriangleareaSessionPageV2/types.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/adapterUtils.d.ts +88 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/adapterUtils.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/ageDefaults.d.ts +60 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/ageDefaults.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/ageProblemAdapter.d.ts +10 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/ageProblemAdapter.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/core/PoolResolver.d.ts +57 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/core/PoolResolver.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/parallelogramDataAdapter.d.ts +13 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/parallelogramDataAdapter.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/parallelogramDefaults.d.ts +86 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/parallelogramDefaults.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/cache/cacheManager.d.ts +256 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/cache/cacheManager.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/cache/index.d.ts +172 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/cache/index.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/cache/memoryCache.d.ts +188 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/cache/memoryCache.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/config/configLoader.d.ts +132 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/config/configLoader.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/config/embeddedConfigs.d.ts +909 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/config/embeddedConfigs.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/config/gradeResolver.d.ts +141 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/config/gradeResolver.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/config/index.d.ts +34 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/config/index.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/index.d.ts +238 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/index.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/resolvers/appearanceRefResolver.d.ts +177 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/resolvers/appearanceRefResolver.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/resolvers/boardConfigRefResolver.d.ts +87 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/resolvers/boardConfigRefResolver.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/resolvers/designTokenResolver.d.ts +165 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/resolvers/designTokenResolver.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/resolvers/geometryRefResolver.d.ts +185 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/resolvers/geometryRefResolver.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/resolvers/index.d.ts +45 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/resolvers/index.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/resolvers/layoutRefResolver.d.ts +177 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/resolvers/layoutRefResolver.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/resolvers/referenceResolutionEngine.d.ts +140 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/resolvers/referenceResolutionEngine.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/resolvers/styleRefResolver.d.ts +177 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/resolvers/styleRefResolver.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/resolvers/transformRefResolver.d.ts +87 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/resolvers/transformRefResolver.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/transformers/componentTransformer.d.ts +111 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/transformers/componentTransformer.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/transformers/contentTransformer.d.ts +126 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/transformers/contentTransformer.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/transformers/index.d.ts +97 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/transformers/index.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/transformers/sceneTransformer.d.ts +88 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/transformers/sceneTransformer.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/types/adapter.types.d.ts +394 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/types/adapter.types.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/types/index.d.ts +21 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/types/index.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/types/reference.types.d.ts +313 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/types/reference.types.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/types/validation.types.d.ts +621 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/types/validation.types.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/validators/equationRenderValidator.d.ts +205 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/validators/equationRenderValidator.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/validators/geometryTransformValidator.d.ts +198 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/validators/geometryTransformValidator.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/validators/index.d.ts +131 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/validators/index.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/validators/mathGraphValidator.d.ts +214 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/validators/mathGraphValidator.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/validators/textValidator.d.ts +163 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapter/validators/textValidator.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapterLegacy.d.ts +18 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapterLegacy.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapterRefactor.d.ts +134 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapterRefactor.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapterV2.d.ts +139 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDataAdapterV2.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDefaults.d.ts +86 -0
- package/dist/pages/AreaGeometrySessionPage/data/adapters/triangleDefaults.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/config/configValidation.d.ts +66 -0
- package/dist/pages/AreaGeometrySessionPage/data/config/configValidation.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/config/index.d.ts +18 -0
- package/dist/pages/AreaGeometrySessionPage/data/config/index.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/config/parallelogramConfigGenerator.d.ts +59 -0
- package/dist/pages/AreaGeometrySessionPage/data/config/parallelogramConfigGenerator.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/config/parallelogramTransformConfig.d.ts +16 -0
- package/dist/pages/AreaGeometrySessionPage/data/config/parallelogramTransformConfig.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/config/triangleConfigGenerator.d.ts +54 -0
- package/dist/pages/AreaGeometrySessionPage/data/config/triangleConfigGenerator.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/config/triangleTransformConfig.d.ts +17 -0
- package/dist/pages/AreaGeometrySessionPage/data/config/triangleTransformConfig.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/config/types.d.ts +255 -0
- package/dist/pages/AreaGeometrySessionPage/data/config/types.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/config/utils/geometryCalculations.d.ts +157 -0
- package/dist/pages/AreaGeometrySessionPage/data/config/utils/geometryCalculations.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/data/index.d.ts +72 -0
- package/dist/pages/AreaGeometrySessionPage/data/index.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/index.d.ts +10 -0
- package/dist/pages/AreaGeometrySessionPage/index.d.ts.map +1 -0
- package/dist/pages/AreaGeometrySessionPage/types.d.ts +87 -0
- package/dist/pages/AreaGeometrySessionPage/types.d.ts.map +1 -0
- package/dist/pages/GradeUnitBrowserPage/GradeUnitBrowserContext.d.ts.map +1 -0
- package/dist/pages/GradeUnitBrowserPage/GradeUnitBrowserPage.css +251 -0
- package/dist/pages/GradeUnitBrowserPage/GradeUnitBrowserPage.d.ts.map +1 -0
- package/dist/pages/GradeUnitBrowserPage/index.d.ts.map +1 -0
- package/dist/pages/GradeUnitBrowserPage/types.d.ts.map +1 -0
- package/dist/pages/MathSessionPage/MathSessionPage.css +228 -0
- package/dist/pages/MathSessionPage/MathSessionPage.d.ts.map +1 -0
- package/dist/pages/MathSessionPage/index.d.ts.map +1 -0
- package/dist/pages/MathSessionPage/types.d.ts.map +1 -0
- package/dist/pages/TestPage/TestPage.d.ts.map +1 -0
- package/dist/services/courseService.d.ts.map +1 -0
- package/dist/services/radarAbilityService.d.ts.map +1 -0
- package/dist/setupTests.d.ts.map +1 -0
- package/dist/store/courseStore.d.ts.map +1 -0
- package/dist/store/radarAbilityStore.d.ts.map +1 -0
- package/dist/stores/mathSessionStore.d.ts.map +1 -0
- package/dist/stories/Button.d.ts.map +1 -0
- package/dist/stories/Header.d.ts.map +1 -0
- package/dist/stories/Page.d.ts.map +1 -0
- package/dist/stories/button.css +30 -0
- package/dist/stories/header.css +32 -0
- package/dist/stories/page.css +68 -0
- package/dist/style.css +1 -0
- package/dist/styles/index.css +103 -0
- package/dist/styles/mathcard-tokens.css +285 -0
- package/dist/styles/mathcard-utilities.css +269 -0
- package/dist/{react-storybook-mcp/src/test → test}/setup.d.ts.map +1 -1
- package/dist/tokens/tokens.json +281 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/radarAbility.d.ts.map +1 -0
- package/package.json +34 -16
- package/dist/react-storybook-mcp/src/App.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/Button/Button.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/Button/index.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/Button/types.d.ts +0 -19
- package/dist/react-storybook-mcp/src/components/Button/types.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/ContentAccordion/ContentAccordion.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/ContentAccordion/index.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/ContentAccordion/types.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/EquationRender/EquationRender.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/EquationRender/index.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/EquationRender/types.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/GradeNavigation.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/Header.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/HundredChart/HundredChart.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/HundredChart/HundredChart.store.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/HundredChart/HundredChart.types.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/HundredChart/HundredChart.utils.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/HundredChart/index.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MainContent.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCard/MathCard.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCard/MathCard.types.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCard/components/AnswerInput.d.ts +0 -4
- package/dist/react-storybook-mcp/src/components/MathCard/components/AnswerInput.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCard/components/Banner.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCard/components/Divider.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCard/components/ErrorState.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCard/components/Explanation.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCard/components/LoadingState.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCard/components/Question.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCard/components/SubmitButton.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCard/context.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCard/index.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCard/styles.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCard/utils/contentRenderer.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCard/utils/templateParser.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/AgeProblemSessionPage.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/DecimalNumberExplanationScene.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/DecimalNumberRecognitionSessionPage.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/DecimalNumberRecognitionSessionStore.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/ExplanationScene.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/ExplanationStep.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/MathCardV2.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/MathCardV2.types.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/MathPracticeSessionIndex.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/MathPracticeSessionPage.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/MathPracticeSessionStore.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/MathPracticeSessionTypes.d.ts +0 -118
- package/dist/react-storybook-mcp/src/components/MathCardV2/MathPracticeSessionTypes.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/QuestionScene.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/RememberModule.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/ReviewModule.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/SolveModule.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/SuccessScene.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/components/GraphController.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/components/MeetingProblemContainer.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/components/StepNavigation.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/components/content/FormulaContent.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/components/content/GraphContent.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/components/content/PlaceValueChart.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/components/content/TextContent.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/components/layouts/CardLayout.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/components/layouts/FlowLayout.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/components/layouts/GridLayout.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/components/renderers/ContentRenderer.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/context.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/data/decimalNumberRecognitionData.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/hooks/useContentRenderer.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/hooks/useDataAdapter.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/hooks/useMeetingProblemAdapter.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/index.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/styles.d.ts +0 -94
- package/dist/react-storybook-mcp/src/components/MathCardV2/styles.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathCardV2/types/MeetingProblem.types.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathGraph/GraphContainer.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathGraph/MathGraph.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathGraph/MathGraphErrorBoundary.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathGraph/index.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathGraph/types.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathGraph/utils/boundingBoxCalculator.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathGraph/utils/debugBoundingBox.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathGraph/utils/realTimeTest.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathGraph/utils/testBoundingBox.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathGraph/utils/testRefResolution.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathSessionContainer/MathSessionContainer.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathSessionContainer/MathSessionContainer.types.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathSessionContainer/hooks/index.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathSessionContainer/hooks/useGeometryManagement.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathSessionContainer/hooks/useSessionCalculations.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathSessionContainer/hooks/useSessionEventHandlers.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathSessionContainer/index.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathWizHeader/MathWizHeader.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathWizHeader/MathWizHeader.types.backup.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathWizHeader/MathWizHeader.types.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/MathWizHeader/index.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/Sidebar/Sidebar.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/Sidebar/index.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/Sidebar/types.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/Submenu/Submenu.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/UserProfile/UserProfile.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/UserProfile/index.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/radarAbility/AbilityAssessmentDashboard/AbilityAssessmentDashboard.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/radarAbility/AbilityAssessmentDashboard/AbilityAssessmentDashboard.storybook.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/radarAbility/AbilityProgressBar/AbilityProgressBar.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/radarAbility/PersonalizedAdvicePanel/PersonalizedAdvicePanel.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/radarAbility/RadarChart/RadarChart.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/components/radarAbility/RecommendationCard/RecommendationCard.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/config/index.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/config/types.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/config/utils.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/data/courseData.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/data/mockData.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/data/userCourseProgress.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/data/usergradeuintsnav.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/data/usergradeunitsProgressData.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/data-sources/api-data-source.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/data-sources/custom-data-source.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/data-sources/factory.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/data-sources/index.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/data-sources/mock-data-source.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/data-sources/types.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/demo/configurable-demo.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/index.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/main.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/mocks/browser.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/mocks/handlers.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/mocks/server.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/pages/GradeUnitBrowserPage/GradeUnitBrowserContext.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/pages/GradeUnitBrowserPage/GradeUnitBrowserPage.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/pages/GradeUnitBrowserPage/index.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/pages/GradeUnitBrowserPage/types.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/pages/MathSessionPage/MathSessionPage.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/pages/MathSessionPage/index.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/pages/MathSessionPage/types.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/pages/TestPage/TestPage.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/services/courseService.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/services/radarAbilityService.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/setupTests.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/store/courseStore.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/store/radarAbilityStore.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/stores/mathSessionStore.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/stories/Button.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/stories/Header.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/stories/Page.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/types/index.d.ts.map +0 -1
- package/dist/react-storybook-mcp/src/types/radarAbility.d.ts.map +0 -1
- /package/dist/{react-storybook-mcp/src/App.d.ts → App.d.ts} +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/Button/Button.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/Button/index.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/ContentAccordion/ContentAccordion.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/ContentAccordion/index.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/ContentAccordion/types.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/EquationRender/EquationRender.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/EquationRender/index.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/EquationRender/types.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/Header.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/HundredChart/HundredChart.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/HundredChart/HundredChart.store.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/HundredChart/HundredChart.types.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/HundredChart/index.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MainContent.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCard/MathCard.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCard/MathCard.types.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCard/components/Banner.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCard/components/Divider.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCard/components/ErrorState.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCard/components/Explanation.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCard/components/LoadingState.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCard/components/Question.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCard/components/SubmitButton.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCard/context.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCard/index.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCard/styles.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCard/utils/contentRenderer.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCard/utils/templateParser.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCardV2/AgeProblemSessionPage.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCardV2/DecimalNumberRecognitionSessionPage.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCardV2/DecimalNumberRecognitionSessionStore.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCardV2/MathPracticeSessionPage.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCardV2/components/GraphController.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCardV2/components/MeetingProblemContainer.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCardV2/components/StepNavigation.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCardV2/components/content/FormulaContent.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCardV2/components/content/GraphContent.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCardV2/components/content/PlaceValueChart.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCardV2/components/content/TextContent.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCardV2/components/renderers/ContentRenderer.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCardV2/context.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCardV2/data/decimalNumberRecognitionData.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCardV2/hooks/useContentRenderer.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCardV2/hooks/useDataAdapter.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCardV2/hooks/useMeetingProblemAdapter.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCardV2/index.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathCardV2/types/MeetingProblem.types.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathGraph/MathGraph.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathGraph/MathGraphErrorBoundary.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathGraph/index.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathGraph/utils/boundingBoxCalculator.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathGraph/utils/debugBoundingBox.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathGraph/utils/realTimeTest.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathGraph/utils/testBoundingBox.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathGraph/utils/testRefResolution.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathSessionContainer/MathSessionContainer.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathSessionContainer/MathSessionContainer.types.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathSessionContainer/hooks/index.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathSessionContainer/hooks/useGeometryManagement.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathSessionContainer/hooks/useSessionCalculations.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathSessionContainer/hooks/useSessionEventHandlers.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathSessionContainer/index.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathWizHeader/MathWizHeader.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathWizHeader/MathWizHeader.types.backup.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathWizHeader/MathWizHeader.types.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/MathWizHeader/index.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/Sidebar/Sidebar.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/Sidebar/index.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/Sidebar/types.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/Submenu/Submenu.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/UserProfile/UserProfile.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/UserProfile/index.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/radarAbility/AbilityAssessmentDashboard/AbilityAssessmentDashboard.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/radarAbility/AbilityAssessmentDashboard/AbilityAssessmentDashboard.storybook.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/radarAbility/AbilityProgressBar/AbilityProgressBar.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/radarAbility/PersonalizedAdvicePanel/PersonalizedAdvicePanel.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/radarAbility/RadarChart/RadarChart.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/components → components}/radarAbility/RecommendationCard/RecommendationCard.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/config → config}/index.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/config → config}/types.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/config → config}/utils.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/data → data}/courseData.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/data → data}/mockData.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/data → data}/userCourseProgress.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/data → data}/usergradeuintsnav.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/data → data}/usergradeunitsProgressData.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/data-sources → data-sources}/factory.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/data-sources → data-sources}/index.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/data-sources → data-sources}/types.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/demo → demo}/configurable-demo.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/main.d.ts → main.d.ts} +0 -0
- /package/dist/{react-storybook-mcp/src/mocks → mocks}/browser.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/mocks → mocks}/handlers.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/mocks → mocks}/server.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/pages → pages}/GradeUnitBrowserPage/GradeUnitBrowserContext.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/pages → pages}/GradeUnitBrowserPage/GradeUnitBrowserPage.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/pages → pages}/GradeUnitBrowserPage/index.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/pages → pages}/GradeUnitBrowserPage/types.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/pages → pages}/MathSessionPage/MathSessionPage.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/pages → pages}/MathSessionPage/index.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/pages → pages}/MathSessionPage/types.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/pages → pages}/TestPage/TestPage.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/services → services}/courseService.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/services → services}/radarAbilityService.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/setupTests.d.ts → setupTests.d.ts} +0 -0
- /package/dist/{react-storybook-mcp/src/store → store}/courseStore.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/store → store}/radarAbilityStore.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/stores → stores}/mathSessionStore.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/stories → stories}/Button.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/stories → stories}/Header.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/stories → stories}/Page.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/test → test}/setup.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/types → types}/index.d.ts +0 -0
- /package/dist/{react-storybook-mcp/src/types → types}/radarAbility.d.ts +0 -0
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
/* MathSessionPage 样式 */
|
|
2
|
+
|
|
3
|
+
/* 屏幕阅读器专用样式 */
|
|
4
|
+
.sr-only {
|
|
5
|
+
position: absolute;
|
|
6
|
+
width: 1px;
|
|
7
|
+
height: 1px;
|
|
8
|
+
padding: 0;
|
|
9
|
+
margin: -1px;
|
|
10
|
+
overflow: hidden;
|
|
11
|
+
clip: rect(0, 0, 0, 0);
|
|
12
|
+
white-space: nowrap;
|
|
13
|
+
border: 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.math-session-page {
|
|
17
|
+
min-height: 100vh;
|
|
18
|
+
background-color: #f8fafc;
|
|
19
|
+
display: flex;
|
|
20
|
+
flex-direction: column;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/* 加载状态 */
|
|
24
|
+
.math-session-page.loading {
|
|
25
|
+
display: flex;
|
|
26
|
+
align-items: center;
|
|
27
|
+
justify-content: center;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.page-loading-container {
|
|
31
|
+
text-align: center;
|
|
32
|
+
padding: 3rem;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.loading-spinner .spinner {
|
|
36
|
+
width: 48px;
|
|
37
|
+
height: 48px;
|
|
38
|
+
border: 4px solid #e2e8f0;
|
|
39
|
+
border-top: 4px solid #3b82f6;
|
|
40
|
+
border-radius: 50%;
|
|
41
|
+
animation: spin 1s linear infinite;
|
|
42
|
+
margin: 0 auto 1rem;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
@keyframes spin {
|
|
46
|
+
0% { transform: rotate(0deg); }
|
|
47
|
+
100% { transform: rotate(360deg); }
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.loading-text {
|
|
51
|
+
color: #64748b;
|
|
52
|
+
font-size: 1rem;
|
|
53
|
+
margin: 0;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/* 错误状态 */
|
|
57
|
+
.math-session-page.error {
|
|
58
|
+
display: flex;
|
|
59
|
+
align-items: center;
|
|
60
|
+
justify-content: center;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.error-container {
|
|
64
|
+
text-align: center;
|
|
65
|
+
padding: 3rem;
|
|
66
|
+
max-width: 400px;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.error-icon {
|
|
70
|
+
font-size: 3rem;
|
|
71
|
+
margin-bottom: 1rem;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.error-title {
|
|
75
|
+
font-size: 1.5rem;
|
|
76
|
+
font-weight: 600;
|
|
77
|
+
color: #dc2626;
|
|
78
|
+
margin: 0 0 0.5rem;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.error-message {
|
|
82
|
+
color: #6b7280;
|
|
83
|
+
margin: 0 0 1.5rem;
|
|
84
|
+
line-height: 1.5;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.retry-button {
|
|
88
|
+
background-color: #3b82f6;
|
|
89
|
+
color: white;
|
|
90
|
+
border: none;
|
|
91
|
+
padding: 0.75rem 1.5rem;
|
|
92
|
+
border-radius: 0.5rem;
|
|
93
|
+
font-size: 0.875rem;
|
|
94
|
+
font-weight: 500;
|
|
95
|
+
cursor: pointer;
|
|
96
|
+
transition: background-color 0.2s;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.retry-button:hover {
|
|
100
|
+
background-color: #2563eb;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.retry-button:focus {
|
|
104
|
+
outline: none;
|
|
105
|
+
box-shadow: 0 0 0 2px #3b82f6;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/* 页面头部 */
|
|
109
|
+
.page-header {
|
|
110
|
+
background-color: white;
|
|
111
|
+
border-bottom: 1px solid #e2e8f0;
|
|
112
|
+
padding: 1rem 2rem;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.header-content {
|
|
116
|
+
display: flex;
|
|
117
|
+
justify-content: space-between;
|
|
118
|
+
align-items: center;
|
|
119
|
+
max-width: 1200px;
|
|
120
|
+
margin: 0 auto;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.page-title {
|
|
124
|
+
font-size: 1.5rem;
|
|
125
|
+
font-weight: 700;
|
|
126
|
+
color: #1e293b;
|
|
127
|
+
margin: 0;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.session-info {
|
|
131
|
+
display: flex;
|
|
132
|
+
gap: 1rem;
|
|
133
|
+
font-size: 0.875rem;
|
|
134
|
+
color: #64748b;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.session-id,
|
|
138
|
+
.grade-info {
|
|
139
|
+
background-color: #f1f5f9;
|
|
140
|
+
padding: 0.25rem 0.5rem;
|
|
141
|
+
border-radius: 0.25rem;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/* 主内容区域 */
|
|
145
|
+
.page-main {
|
|
146
|
+
flex: 1;
|
|
147
|
+
padding: 2rem;
|
|
148
|
+
max-width: 1200px;
|
|
149
|
+
margin: 0 auto;
|
|
150
|
+
width: 100%;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/* 页面底部 */
|
|
154
|
+
.page-footer {
|
|
155
|
+
background-color: #f1f5f9;
|
|
156
|
+
border-top: 1px solid #e2e8f0;
|
|
157
|
+
padding: 1rem 2rem;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
.footer-content {
|
|
161
|
+
max-width: 1200px;
|
|
162
|
+
margin: 0 auto;
|
|
163
|
+
text-align: center;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
.footer-text {
|
|
167
|
+
color: #64748b;
|
|
168
|
+
font-size: 0.875rem;
|
|
169
|
+
margin: 0;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/* 响应式设计 */
|
|
173
|
+
@media (max-width: 768px) {
|
|
174
|
+
.page-header {
|
|
175
|
+
padding: 1rem;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
.header-content {
|
|
179
|
+
flex-direction: column;
|
|
180
|
+
gap: 0.5rem;
|
|
181
|
+
align-items: flex-start;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
.session-info {
|
|
185
|
+
flex-direction: column;
|
|
186
|
+
gap: 0.25rem;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
.page-main {
|
|
190
|
+
padding: 1rem;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
.page-footer {
|
|
194
|
+
padding: 1rem;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
/* 暗色主题支持 */
|
|
199
|
+
@media (prefers-color-scheme: dark) {
|
|
200
|
+
.math-session-page {
|
|
201
|
+
background-color: #0f172a;
|
|
202
|
+
color: #f8fafc;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
.page-header {
|
|
206
|
+
background-color: #1e293b;
|
|
207
|
+
border-bottom-color: #334155;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
.page-title {
|
|
211
|
+
color: #f8fafc;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
.session-id,
|
|
215
|
+
.grade-info {
|
|
216
|
+
background-color: #334155;
|
|
217
|
+
color: #cbd5e1;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
.page-footer {
|
|
221
|
+
background-color: #1e293b;
|
|
222
|
+
border-top-color: #334155;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
.footer-text {
|
|
226
|
+
color: #94a3b8;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MathSessionPage.d.ts","sourceRoot":"","sources":["../../../src/pages/MathSessionPage/MathSessionPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAGxE,OAAO,KAAK,EAAE,oBAAoB,EAAwB,MAAM,SAAS,CAAC;AAC1E,OAAO,uBAAuB,CAAC;;AAyT/B,wBAA2C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pages/MathSessionPage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/pages/MathSessionPage/types.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,oBAAoB;IACnC,WAAW;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,MAAM,EAAE,MAAM,CAAC;IACf,WAAW;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,cAAc;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa;IACb,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3C,aAAa;IACb,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW;IACX,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,WAAW;IACX,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa;IACb,MAAM,CAAC,EAAE;QACP,aAAa;QACb,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,cAAc;QACd,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,eAAe;QACf,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW;IACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,eAAe;IACf,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY;IACZ,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa;IACb,OAAO,EAAE,KAAK,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,SAAS,EAAE,OAAO,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TestPage.d.ts","sourceRoot":"","sources":["../../../src/pages/TestPage/TestPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;;GAGG;AACH,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EA8BrB,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"courseService.d.ts","sourceRoot":"","sources":["../../src/services/courseService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGzD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,aAAa,GAAG,aAAa,GAAG,WAAW,CAAC;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,MAAM,EAAE,aAAa,GAAG,aAAa,GAAG,WAAW,CAAC;QACpD,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,OAAO,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,aAAa,GAAG,aAAa,GAAG,WAAW,CAAC;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,cAAM,aAAa;IACjB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAS;gBAEV,OAAO,GAAE,MAAkB,EAAE,KAAK,GAAE,MAAuB;IAKvE,OAAO,CAAC,cAAc;YAOR,aAAa;IAiBrB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAMpD,oBAAoB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAUlE,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAUzF,yBAAyB,CAC7B,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,yBAAyB,EAAE,GAC3C,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,KAAK,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,OAAO,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAalG,oBAAoB,CACxB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,WAAW,GAAG,aAAa,GAAG,aAAa,GAClD,OAAO,CAAC,IAAI,CAAC;IAWhB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK7B,QAAQ,IAAI,MAAM;CAGnB;AAGD,eAAO,MAAM,aAAa,eAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radarAbilityService.d.ts","sourceRoot":"","sources":["../../src/services/radarAbilityService.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG9D,eAAO,MAAM,oBAAoB,EAAE,gBA2DlC,CAAC;AAEF,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAwB;WAE/C,qBAAqB,IAAI,OAAO,CAAC,gBAAgB,CAAC;WAuBlD,cAAc,CAAC,QAAQ,EAAE;QACpC,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,IAAI,CAAC;CASlB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setupTests.d.ts","sourceRoot":"","sources":["../src/setupTests.ts"],"names":[],"mappings":"AAAA,OAAO,kCAAkC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"courseStore.d.ts","sourceRoot":"","sources":["../../src/store/courseStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGzC,eAAO,MAAM,cAAc,uEAqDxB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radarAbilityStore.d.ts","sourceRoot":"","sources":["../../src/store/radarAbilityStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG9D,UAAU,iBAAiB;IACzB,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC1C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,eAAO,MAAM,oBAAoB,gFA+B9B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mathSessionStore.d.ts","sourceRoot":"","sources":["../../src/stores/mathSessionStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAC9G,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAclE,MAAM,WAAW,gBAAgB;IAE/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAGzB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IAGtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,aAAa,CAAC;IAG5B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACtC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAGpD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACxC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAG9B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAGrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IAEjC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE;QAC1C,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAGpB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAGrC,WAAW,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAG5C,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAGhE,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,KAAK,IAAI,CAAC;IAC9E,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACjE,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAGpE,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,IAAI,CAAC;IAGtB,KAAK,EAAE,MAAM,IAAI,CAAC;IAGlB,iBAAiB,EAAE,MAAM,eAAe,GAAG,IAAI,CAAC;IAChD,WAAW,EAAE,MAAM;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1E,iBAAiB,EAAE,MAAM,cAAc,CAAC;CACzC;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,KAAK,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,SAAS,EAAE,OAAO,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;CACJ;AAED,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;AAIrE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;EAuR3B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/stories/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AAEtB,MAAM,WAAW,WAAW;IAC1B,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mCAAmC;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sCAAsC;IACtC,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,gDAAgD;AAChD,eAAO,MAAM,MAAM,GAAI,qDAMpB,WAAW,4CAYb,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../src/stories/Header.tsx"],"names":[],"mappings":"AACA,OAAO,cAAc,CAAC;AAEtB,KAAK,IAAI,GAAG;IACV,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED,eAAO,MAAM,MAAM,GAAI,8CAA8C,WAAW,4CAuC/E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../src/stories/Page.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,YAAY,CAAC;AAMpB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EA+DxB,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
.storybook-button {
|
|
2
|
+
display: inline-block;
|
|
3
|
+
cursor: pointer;
|
|
4
|
+
border: 0;
|
|
5
|
+
border-radius: 3em;
|
|
6
|
+
font-weight: 700;
|
|
7
|
+
line-height: 1;
|
|
8
|
+
font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
|
9
|
+
}
|
|
10
|
+
.storybook-button--primary {
|
|
11
|
+
background-color: #555ab9;
|
|
12
|
+
color: white;
|
|
13
|
+
}
|
|
14
|
+
.storybook-button--secondary {
|
|
15
|
+
box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 0px 1px inset;
|
|
16
|
+
background-color: transparent;
|
|
17
|
+
color: #333;
|
|
18
|
+
}
|
|
19
|
+
.storybook-button--small {
|
|
20
|
+
padding: 10px 16px;
|
|
21
|
+
font-size: 12px;
|
|
22
|
+
}
|
|
23
|
+
.storybook-button--medium {
|
|
24
|
+
padding: 11px 20px;
|
|
25
|
+
font-size: 14px;
|
|
26
|
+
}
|
|
27
|
+
.storybook-button--large {
|
|
28
|
+
padding: 12px 24px;
|
|
29
|
+
font-size: 16px;
|
|
30
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
.storybook-header {
|
|
2
|
+
display: flex;
|
|
3
|
+
justify-content: space-between;
|
|
4
|
+
align-items: center;
|
|
5
|
+
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
|
|
6
|
+
padding: 15px 20px;
|
|
7
|
+
font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.storybook-header svg {
|
|
11
|
+
display: inline-block;
|
|
12
|
+
vertical-align: top;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.storybook-header h1 {
|
|
16
|
+
display: inline-block;
|
|
17
|
+
vertical-align: top;
|
|
18
|
+
margin: 6px 0 6px 10px;
|
|
19
|
+
font-weight: 700;
|
|
20
|
+
font-size: 20px;
|
|
21
|
+
line-height: 1;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.storybook-header button + button {
|
|
25
|
+
margin-left: 10px;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.storybook-header .welcome {
|
|
29
|
+
margin-right: 10px;
|
|
30
|
+
color: #333;
|
|
31
|
+
font-size: 14px;
|
|
32
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
.storybook-page {
|
|
2
|
+
margin: 0 auto;
|
|
3
|
+
padding: 48px 20px;
|
|
4
|
+
max-width: 600px;
|
|
5
|
+
color: #333;
|
|
6
|
+
font-size: 14px;
|
|
7
|
+
line-height: 24px;
|
|
8
|
+
font-family: 'Nunito Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.storybook-page h2 {
|
|
12
|
+
display: inline-block;
|
|
13
|
+
vertical-align: top;
|
|
14
|
+
margin: 0 0 4px;
|
|
15
|
+
font-weight: 700;
|
|
16
|
+
font-size: 32px;
|
|
17
|
+
line-height: 1;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.storybook-page p {
|
|
21
|
+
margin: 1em 0;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.storybook-page a {
|
|
25
|
+
color: inherit;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.storybook-page ul {
|
|
29
|
+
margin: 1em 0;
|
|
30
|
+
padding-left: 30px;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.storybook-page li {
|
|
34
|
+
margin-bottom: 8px;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.storybook-page .tip {
|
|
38
|
+
display: inline-block;
|
|
39
|
+
vertical-align: top;
|
|
40
|
+
margin-right: 10px;
|
|
41
|
+
border-radius: 1em;
|
|
42
|
+
background: #e7fdd8;
|
|
43
|
+
padding: 4px 12px;
|
|
44
|
+
color: #357a14;
|
|
45
|
+
font-weight: 700;
|
|
46
|
+
font-size: 11px;
|
|
47
|
+
line-height: 12px;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.storybook-page .tip-wrapper {
|
|
51
|
+
margin-top: 40px;
|
|
52
|
+
margin-bottom: 40px;
|
|
53
|
+
font-size: 13px;
|
|
54
|
+
line-height: 20px;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.storybook-page .tip-wrapper svg {
|
|
58
|
+
display: inline-block;
|
|
59
|
+
vertical-align: top;
|
|
60
|
+
margin-top: 3px;
|
|
61
|
+
margin-right: 4px;
|
|
62
|
+
width: 12px;
|
|
63
|
+
height: 12px;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.storybook-page .tip-wrapper svg path {
|
|
67
|
+
fill: #1ea7fd;
|
|
68
|
+
}
|
package/dist/style.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.mathcard-v2-card{background-color:var(--mc-bg-primary);color:var(--mc-text-primary);border-radius:var(--mc-radius-lg);transition:all var(--mc-transition-normal)}.shadow-card{box-shadow:var(--mc-shadow-card)}.mathcard-v2-text{font-size:var(--mc-text-base);line-height:var(--mc-leading-relaxed);color:var(--mc-text-secondary)}.mathcard-v2-formula{display:flex;align-items:center;justify-content:center;margin:var(--mc-space-sm) 0}.mathcard-v2-graph{margin:var(--mc-space-md) 0;border-radius:var(--mc-radius-sm);overflow:hidden}.mathcard-v2-grid{display:grid;gap:var(--mc-space-md)}.mathcard-v2-flow{display:flex;flex-direction:column;gap:var(--mc-space-sm)}@media(max-width:768px){.mathcard-v2-card{border-radius:var(--mc-radius-md)}.mathcard-v2-text{font-size:var(--mc-text-sm)}}:root{--mc-color-remember: #5bc0de;--mc-color-review: #a5c63b;--mc-color-solve: #f0ad4e;--mc-color-primary: #3b82f6;--mc-color-success: #10b981;--mc-color-warning: #f59e0b;--mc-color-error: #f97316;--mc-color-info: #5bc0de;--mc-text-primary: #1e293b;--mc-text-secondary: #475569;--mc-text-tertiary: #94a3b8;--mc-text-inverse: #ffffff;--mc-bg-primary: #ffffff;--mc-bg-secondary: #f8fafc;--mc-bg-tertiary: #f1f5f9;--mc-bg-warm: #fffbeb;--mc-bg-success: #ecfdf5;--mc-border-default: #e2e8f0;--mc-border-light: #f1f5f9;--mc-border-focus: #3b82f6;--mc-step-color-ident: #3b82f6;--mc-step-color-calc: #f97316;--mc-step-color-res: #10b981;--mc-step-bg-ident: linear-gradient(90deg, rgba(59, 130, 246, .06) 0%, transparent 100%);--mc-step-bg-calc: linear-gradient(90deg, rgba(249, 115, 22, .06) 0%, transparent 100%);--mc-step-bg-res: linear-gradient(90deg, rgba(16, 185, 129, .06) 0%, transparent 100%)}:root{--mc-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Microsoft YaHei", "PingFang SC", sans-serif;--mc-font-serif: "Times New Roman", Times, "SimSun", serif;--mc-font-mono: "SF Mono", Monaco, "Cascadia Code", "Consolas", monospace;--mc-text-xs: .75rem;--mc-text-sm: .875rem;--mc-text-base: 1rem;--mc-text-lg: 1.125rem;--mc-text-xl: 1.25rem;--mc-text-2xl: 1.5rem;--mc-text-3xl: 1.875rem;--mc-text-4xl: 2.25rem;--mc-leading-tight: 1.25;--mc-leading-normal: 1.5;--mc-leading-relaxed: 1.7;--mc-font-normal: 400;--mc-font-medium: 500;--mc-font-semibold: 600;--mc-font-bold: 700}:root{--mc-space-1: .25rem;--mc-space-2: .5rem;--mc-space-3: .75rem;--mc-space-4: 1rem;--mc-space-5: 1.25rem;--mc-space-6: 1.5rem;--mc-space-8: 2rem;--mc-space-10: 2.5rem;--mc-space-12: 3rem;--mc-step-sidebar-visible: 1;--mc-step-sidebar-width: 1px;--mc-step-sidebar-radius: var(--mc-radius-sm);--mc-step-sidebar-opacity: .8;--mc-step-border-width: var(--mc-step-sidebar-width);--mc-step-padding-y: var(--mc-space-6);--mc-step-gap: var(--mc-space-10);--mc-touch-min: 44px;--mc-touch-comfortable: 48px}:root{--mc-radius-sm: .25rem;--mc-radius-md: .5rem;--mc-radius-lg: .75rem;--mc-radius-xl: 1rem;--mc-radius-full: 9999px}:root{--mc-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--mc-shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--mc-shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--mc-shadow-xl: 0 20px 25px rgba(0, 0, 0, .1);--mc-shadow-card: 0 4px 12px rgba(0, 0, 0, .08);--mc-shadow-card-hover: 0 8px 20px rgba(0, 0, 0, .12)}:root{--mc-transition-fast: .15s ease;--mc-transition-normal: .25s ease;--mc-transition-slow: .35s ease}:root{--mc-card-padding: 1.5rem;--mc-card-padding-lg: 1.875rem;--mc-content-gap: 1rem;--mc-section-gap: 2rem;--mc-card-min-height: 200px;--mc-max-content-width: 800px}[data-theme=dark],.theme-dark{--mc-bg-primary: #1a1a2e;--mc-bg-secondary: #16213e;--mc-bg-tertiary: #0f3460;--mc-text-primary: #f1f5f9;--mc-text-secondary: #cbd5e1;--mc-border-default: #334155;--mc-shadow-card: 0 4px 12px rgba(0, 0, 0, .3)}:root{--ixl-color-remember: var(--mc-color-remember);--ixl-color-review: var(--mc-color-review);--ixl-color-solve: var(--mc-color-solve);--ixl-card-shadow: var(--mc-shadow-card);--ixl-card-border-radius: var(--mc-radius-lg)}:root{--text-primary: var(--mc-text-primary);--border-color: var(--mc-border-default);--success-color: var(--mc-color-success);--warning-color: var(--mc-color-warning);--accent-color: var(--mc-color-primary)}:root{--mathcard-bg-color: var(--mc-bg-primary);--mathcard-text-color: var(--mc-text-primary);--mathcard-border-color: var(--mc-border-default);--mathcard-shadow: var(--mc-shadow-card)}.mc-heading-scene{font-size:var(--mc-text-4xl);font-weight:var(--mc-font-semibold);line-height:var(--mc-leading-tight);color:var(--mc-color-info);margin-bottom:var(--mc-space-6)}.mc-heading-section{font-size:var(--mc-text-xl);font-weight:var(--mc-font-semibold);color:var(--mc-color-review);margin-bottom:var(--mc-space-4)}.mc-heading-content{font-size:var(--mc-text-lg);font-weight:var(--mc-font-semibold);color:var(--mc-text-primary);margin-bottom:var(--mc-space-3)}.mc-body{font-size:var(--mc-text-base);line-height:var(--mc-leading-relaxed);color:var(--mc-text-secondary)}.mc-body-lg{font-size:var(--mc-text-lg);line-height:var(--mc-leading-relaxed);color:var(--mc-text-secondary)}.mc-body-sm{font-size:var(--mc-text-sm);line-height:var(--mc-leading-normal);color:var(--mc-text-secondary)}.mc-caption{font-size:var(--mc-text-sm);color:var(--mc-text-tertiary);line-height:var(--mc-leading-normal)}.mc-label{font-size:var(--mc-text-sm);font-weight:var(--mc-font-medium);color:var(--mc-text-tertiary);text-transform:uppercase;letter-spacing:.5px}.mc-math-text{font-family:var(--mc-font-serif);font-style:italic}.mc-math-operator{font-family:var(--mc-font-serif);font-weight:var(--mc-font-bold);margin:0 var(--mc-space-2)}.mc-m-1{margin:var(--mc-space-1)}.mc-m-2{margin:var(--mc-space-2)}.mc-m-3{margin:var(--mc-space-3)}.mc-m-4{margin:var(--mc-space-4)}.mc-m-5{margin:var(--mc-space-5)}.mc-m-6{margin:var(--mc-space-6)}.mc-mt-1{margin-top:var(--mc-space-1)}.mc-mt-2{margin-top:var(--mc-space-2)}.mc-mt-3{margin-top:var(--mc-space-3)}.mc-mt-4{margin-top:var(--mc-space-4)}.mc-mt-5{margin-top:var(--mc-space-5)}.mc-mt-6{margin-top:var(--mc-space-6)}.mc-mb-1{margin-bottom:var(--mc-space-1)}.mc-mb-2{margin-bottom:var(--mc-space-2)}.mc-mb-3{margin-bottom:var(--mc-space-3)}.mc-mb-4{margin-bottom:var(--mc-space-4)}.mc-mb-5{margin-bottom:var(--mc-space-5)}.mc-mb-6{margin-bottom:var(--mc-space-6)}.mc-ml-1{margin-left:var(--mc-space-1)}.mc-ml-2{margin-left:var(--mc-space-2)}.mc-ml-3{margin-left:var(--mc-space-3)}.mc-ml-4{margin-left:var(--mc-space-4)}.mc-ml-5{margin-left:var(--mc-space-5)}.mc-ml-6{margin-left:var(--mc-space-6)}.mc-mr-1{margin-right:var(--mc-space-1)}.mc-mr-2{margin-right:var(--mc-space-2)}.mc-mr-3{margin-right:var(--mc-space-3)}.mc-mr-4{margin-right:var(--mc-space-4)}.mc-mr-5{margin-right:var(--mc-space-5)}.mc-mr-6{margin-right:var(--mc-space-6)}.mc-mx-1{margin-left:var(--mc-space-1);margin-right:var(--mc-space-1)}.mc-mx-2{margin-left:var(--mc-space-2);margin-right:var(--mc-space-2)}.mc-mx-3{margin-left:var(--mc-space-3);margin-right:var(--mc-space-3)}.mc-mx-4{margin-left:var(--mc-space-4);margin-right:var(--mc-space-4)}.mc-mx-5{margin-left:var(--mc-space-5);margin-right:var(--mc-space-5)}.mc-mx-6{margin-left:var(--mc-space-6);margin-right:var(--mc-space-6)}.mc-my-1{margin-top:var(--mc-space-1);margin-bottom:var(--mc-space-1)}.mc-my-2{margin-top:var(--mc-space-2);margin-bottom:var(--mc-space-2)}.mc-my-3{margin-top:var(--mc-space-3);margin-bottom:var(--mc-space-3)}.mc-my-4{margin-top:var(--mc-space-4);margin-bottom:var(--mc-space-4)}.mc-my-5{margin-top:var(--mc-space-5);margin-bottom:var(--mc-space-5)}.mc-my-6{margin-top:var(--mc-space-6);margin-bottom:var(--mc-space-6)}.mc-p-1{padding:var(--mc-space-1)}.mc-p-2{padding:var(--mc-space-2)}.mc-p-3{padding:var(--mc-space-3)}.mc-p-4{padding:var(--mc-space-4)}.mc-p-5{padding:var(--mc-space-5)}.mc-p-6{padding:var(--mc-space-6)}.mc-pt-1{padding-top:var(--mc-space-1)}.mc-pt-2{padding-top:var(--mc-space-2)}.mc-pt-3{padding-top:var(--mc-space-3)}.mc-pt-4{padding-top:var(--mc-space-4)}.mc-pt-5{padding-top:var(--mc-space-5)}.mc-pt-6{padding-top:var(--mc-space-6)}.mc-pb-1{padding-bottom:var(--mc-space-1)}.mc-pb-2{padding-bottom:var(--mc-space-2)}.mc-pb-3{padding-bottom:var(--mc-space-3)}.mc-pb-4{padding-bottom:var(--mc-space-4)}.mc-pb-5{padding-bottom:var(--mc-space-5)}.mc-pb-6{padding-bottom:var(--mc-space-6)}.mc-pl-1{padding-left:var(--mc-space-1)}.mc-pl-2{padding-left:var(--mc-space-2)}.mc-pl-3{padding-left:var(--mc-space-3)}.mc-pl-4{padding-left:var(--mc-space-4)}.mc-pl-5{padding-left:var(--mc-space-5)}.mc-pl-6{padding-left:var(--mc-space-6)}.mc-pr-1{padding-right:var(--mc-space-1)}.mc-pr-2{padding-right:var(--mc-space-2)}.mc-pr-3{padding-right:var(--mc-space-3)}.mc-pr-4{padding-right:var(--mc-space-4)}.mc-pr-5{padding-right:var(--mc-space-5)}.mc-pr-6{padding-right:var(--mc-space-6)}.mc-px-1{padding-left:var(--mc-space-1);padding-right:var(--mc-space-1)}.mc-px-2{padding-left:var(--mc-space-2);padding-right:var(--mc-space-2)}.mc-px-3{padding-left:var(--mc-space-3);padding-right:var(--mc-space-3)}.mc-px-4{padding-left:var(--mc-space-4);padding-right:var(--mc-space-4)}.mc-px-5{padding-left:var(--mc-space-5);padding-right:var(--mc-space-5)}.mc-px-6{padding-left:var(--mc-space-6);padding-right:var(--mc-space-6)}.mc-py-1{padding-top:var(--mc-space-1);padding-bottom:var(--mc-space-1)}.mc-py-2{padding-top:var(--mc-space-2);padding-bottom:var(--mc-space-2)}.mc-py-3{padding-top:var(--mc-space-3);padding-bottom:var(--mc-space-3)}.mc-py-4{padding-top:var(--mc-space-4);padding-bottom:var(--mc-space-4)}.mc-py-5{padding-top:var(--mc-space-5);padding-bottom:var(--mc-space-5)}.mc-py-6{padding-top:var(--mc-space-6);padding-bottom:var(--mc-space-6)}.mc-gap-1{gap:var(--mc-space-1)}.mc-gap-2{gap:var(--mc-space-2)}.mc-gap-3{gap:var(--mc-space-3)}.mc-gap-4{gap:var(--mc-space-4)}.mc-gap-5{gap:var(--mc-space-5)}.mc-gap-6{gap:var(--mc-space-6)}.mc-touch-target{min-height:var(--mc-touch-comfortable);min-width:var(--mc-touch-comfortable);padding:var(--mc-space-3) var(--mc-space-4);display:inline-flex;align-items:center;justify-content:center}.mc-input{min-height:var(--mc-touch-comfortable);padding:var(--mc-space-3) var(--mc-space-4);font-size:var(--mc-text-base);border:2px solid var(--mc-border-default);border-radius:var(--mc-radius-md);transition:border-color var(--mc-transition-normal)}.mc-input:focus{outline:none;border-color:var(--mc-border-focus);box-shadow:0 0 0 3px #3b82f61a}.mc-button{min-height:var(--mc-touch-comfortable);padding:var(--mc-space-3) var(--mc-space-6);font-size:var(--mc-text-base);font-weight:var(--mc-font-semibold);border-radius:var(--mc-radius-md);transition:all var(--mc-transition-normal);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-align:center}@media(max-width:768px){:root{--mc-text-base: .875rem;--mc-text-lg: 1rem;--mc-text-xl: 1.125rem;--mc-text-2xl: 1.25rem;--mc-text-3xl: 1.5rem;--mc-text-4xl: 1.75rem}.mc-heading-scene,.mc-body,.mc-body-lg{line-height:var(--mc-leading-normal)}.mc-heading-scene{margin-bottom:var(--mc-space-4)}.mc-heading-section{margin-bottom:var(--mc-space-3)}.mc-heading-content{margin-bottom:var(--mc-space-2)}}:root{--primary-color: #3b82f6;--primary-hover: #2563eb;--primary-active: #1d4ed8;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--text-primary: var(--mc-text-primary);--text-secondary: var(--mc-text-secondary);--text-tertiary: var(--mc-text-tertiary);--border-light: #e2e8f0;--border-medium: #cbd5e1;--border-dark: #94a3b8;--success-color: var(--mc-color-success);--warning-color: var(--mc-color-warning);--error-color: #ef4444;--info-color: #3b82f6;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--header-bg: linear-gradient(to right, #8b5cf6, #ec4899, #ef4444);--sidebar-bg: linear-gradient(180deg, #f8fafc 0%, #e2e8f0 100%)}.button{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid transparent;font-weight:500;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:all .2s ease-in-out;line-height:1.5;text-decoration:none;-webkit-user-select:none;user-select:none;white-space:nowrap;vertical-align:middle;position:relative;overflow:hidden}.button--sm{padding:.375rem .75rem;font-size:.75rem;min-height:1.75rem}.button--md{padding:.5rem 1rem;font-size:.875rem;min-height:2.25rem}.button--lg{padding:.75rem 1.5rem;font-size:1rem;min-height:2.75rem}.button--radius-sm{border-radius:.25rem}.button--radius-md{border-radius:.375rem}.button--radius-lg{border-radius:.5rem}.button--primary{background-color:#3b82f6;color:#fff;border-color:#3b82f6}.button--primary:hover{background-color:#2563eb;border-color:#2563eb}.button--primary:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.button--secondary{background-color:#6b7280;color:#fff;border-color:#6b7280}.button--secondary:hover{background-color:#4b5563;border-color:#4b5563}.button--secondary:focus-visible{outline:2px solid #6b7280;outline-offset:2px}.button--success{background-color:#10b981;color:#fff;border-color:#10b981}.button--success:hover{background-color:#059669;border-color:#059669}.button--success:focus-visible{outline:2px solid #10b981;outline-offset:2px}.button--bordered.button--primary{background-color:transparent;color:#3b82f6;border-color:#3b82f6}.button--bordered.button--primary:hover{background-color:#3b82f6;color:#fff}.button--bordered.button--secondary{background-color:transparent;color:#6b7280;border-color:#6b7280}.button--bordered.button--secondary:hover{background-color:#6b7280;color:#fff}.button--bordered.button--success{background-color:transparent;color:#10b981;border-color:#10b981}.button--bordered.button--success:hover{background-color:#10b981;color:#fff}.button--light.button--primary{background-color:#dbeafe;color:#1e40af;border-color:transparent}.button--light.button--primary:hover{background-color:#bfdbfe}.button--light.button--secondary{background-color:#f3f4f6;color:#374151;border-color:transparent}.button--light.button--secondary:hover{background-color:#e5e7eb}.button--light.button--success{background-color:#d1fae5;color:#065f46;border-color:transparent}.button--light.button--success:hover{background-color:#a7f3d0}.button:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.button:focus{outline:none}.button:focus-visible{box-shadow:0 0 0 3px #3b82f680}.button--loading{pointer-events:none;opacity:.8}@media(max-width:768px){.button--sm{padding:.25rem .5rem;font-size:.6875rem;min-height:1.5rem}.button--md{padding:.375rem .75rem;font-size:.8125rem;min-height:2rem}.button--lg{padding:.5rem 1rem;font-size:.875rem;min-height:2.25rem}}.content-accordion{--accordion-spacing: 1rem;--accordion-border-radius: 12px;--accordion-shadow: 0 1px 3px 0 rgba(0, 0, 0, .08);--accordion-border: none;--accordion-transition: all .2s ease-in-out;width:100%;max-width:100%;min-width:0;margin:0;box-sizing:border-box;overflow-wrap:break-word;word-wrap:break-word}.content-accordion--loading{display:flex;justify-content:center;align-items:center;min-height:200px}.content-accordion__loading{color:#6b7280;font-size:.875rem}.content-accordion--empty{display:flex;justify-content:center;align-items:center;min-height:200px;color:#6b7280}.content-accordion__empty{text-align:center}.content-accordion__header{padding:var(--accordion-spacing);background:#f8fafc;border-radius:var(--accordion-border-radius);margin-bottom:var(--accordion-spacing);border:none}.content-accordion__unit-title{font-size:1.5rem;font-weight:600;color:#1f2937;margin:0 0 .5rem}.content-accordion__unit-description{color:#6b7280;margin:0 0 .75rem;line-height:1.5}.content-accordion__unit-meta{display:flex;gap:.5rem;align-items:center;color:#9ca3af;font-size:.875rem}.content-accordion__lessons{display:flex;flex-direction:column;gap:.5rem}.content-accordion__lesson-item{border:none;border-radius:var(--accordion-border-radius);background:#fff;box-shadow:var(--accordion-shadow);overflow:hidden;transition:var(--accordion-transition)}.content-accordion__lesson-item--expanded{box-shadow:0 2px 8px #0000001a;border-radius:var(--accordion-border-radius);border:none}.content-accordion__lesson-header{display:flex;justify-content:space-between;align-items:center;padding:1rem var(--accordion-spacing);cursor:pointer;background:#fff;transition:var(--accordion-transition);-webkit-user-select:none;user-select:none}.content-accordion__lesson-header:hover{background:#f9fafb}.content-accordion__lesson-header:focus-visible{outline:2px solid #3b82f6;outline-offset:-2px}.content-accordion__lesson-header-content{flex:1}.content-accordion__lesson-title{font-size:1rem;font-weight:500;color:#1f2937;margin:0 0 .25rem}.content-accordion__lesson-duration{font-size:.875rem;color:#6b7280}.content-accordion__lesson-actions{display:flex;align-items:center;gap:.75rem}.content-accordion__lesson-progress{font-size:.875rem;font-weight:500;color:#3b82f6;min-width:3rem;text-align:right}.content-accordion__lesson-icon{width:1.25rem;height:1.25rem;color:#6b7280;transition:var(--accordion-transition)}.content-accordion__knowledge-list{padding:0 var(--accordion-spacing) var(--accordion-spacing);display:flex;flex-direction:column;gap:.75rem;background:#f9fafb;border-top:none}.content-accordion__knowledge-card{margin:0;box-shadow:0 1px 2px #0000000a;border:none}.content-accordion__knowledge-title{font-size:.875rem;font-weight:500;color:#1f2937;margin:0 0 .5rem}.content-accordion__knowledge-description{font-size:.75rem;color:#6b7280;line-height:1.4;margin:0}.content-accordion__knowledge-actions{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding-top:.75rem;border-top:1px solid #f3f4f6}.content-accordion__progress-container{display:flex;align-items:center;gap:.5rem;flex:1}.content-accordion__progress-bar{flex:1;max-width:120px}.content-accordion__progress-text{font-size:.75rem;color:#6b7280;min-width:2.5rem;text-align:right}.content-accordion__learn-button{white-space:nowrap;min-width:6rem;justify-content:center}@media(max-width:768px){.content-accordion{--accordion-spacing: .75rem}.content-accordion__header{padding:.75rem}.content-accordion__unit-title{font-size:1.25rem}.content-accordion__lesson-header{padding:.75rem}.content-accordion__knowledge-list{padding:0 .75rem .75rem}.content-accordion__knowledge-actions{flex-direction:column;align-items:stretch;gap:.5rem}.content-accordion__progress-container{justify-content:space-between}}@media(prefers-reduced-motion:reduce){.content-accordion,.content-accordion__lesson-header,.content-accordion__lesson-icon{transition:none}}@media(prefers-contrast:high){.content-accordion__lesson-header,.content-accordion__knowledge-card{border:2px solid currentColor}}.sidebar{display:flex;flex-direction:column;width:280px;height:100vh;background-color:var(--sidebar-bg-color, #ffffff);border-right:1px solid var(--sidebar-border-color, #e0e0e0);transition:width var(--transition-normal, .25s ease-in-out),transform var(--transition-normal, .25s ease-in-out);overflow-y:auto;position:relative}.sidebar--collapsed{width:64px}.sidebar--loading .sidebar__unit-list,.sidebar--loading .sidebar__header{opacity:.3;pointer-events:none}.sidebar__header{display:flex;align-items:center;padding:var(--spacing-lg, 24px) var(--spacing-md, 16px) var(--spacing-md, 16px);border-bottom:1px solid var(--sidebar-border-color, #e0e0e0);margin-bottom:var(--spacing-md, 16px)}.sidebar__toggle-btn{width:32px;height:32px;border:none;background:none;cursor:pointer;border-radius:var(--border-radius-sm, 4px);display:flex;align-items:center;justify-content:center;color:var(--sidebar-text-color, #333333);margin-right:var(--spacing-sm, 8px)}.sidebar__toggle-btn:hover{background-color:var(--sidebar-hover-bg, rgba(0, 0, 0, .05))}.sidebar__course-info{flex:1}.sidebar__course-title{font-size:var(--font-size-lg, 16px);font-weight:var(--font-weight-bold, 600);color:var(--sidebar-text-color, #333333);margin:0 0 var(--spacing-xs, 4px) 0}.sidebar__course-level{font-size:var(--font-size-sm, 12px);color:var(--sidebar-text-secondary, #666666)}.sidebar__content{flex:1;padding:0 var(--spacing-md, 16px)}.sidebar__unit-list{list-style:none;padding:0;margin:0}.sidebar__unit-item{margin-bottom:var(--spacing-xs, 4px);border-radius:var(--border-radius-sm, 4px);cursor:pointer;transition:background-color var(--transition-fast, .15s ease-in-out);padding:var(--spacing-sm, 8px) var(--spacing-md, 16px)}.sidebar__unit-item:hover{background-color:var(--sidebar-hover-bg, rgba(0, 0, 0, .03))}.sidebar__unit-item--active{background-color:var(--sidebar-active-bg, #e3f2fd);border-left:3px solid var(--sidebar-active-border, #1865f2);font-weight:var(--font-weight-medium, 500)}.sidebar__unit-item--completed{opacity:.8}.sidebar__unit-item--in-progress{font-weight:var(--font-weight-medium, 500)}.sidebar__unit-item--not-started{opacity:.6}.sidebar__unit-item__content{display:flex;align-items:center;margin-bottom:var(--spacing-xs, 4px)}.sidebar__unit-item__icon{width:20px;height:20px;margin-right:var(--spacing-sm, 8px);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-md, 14px)}.sidebar__unit-item__title{flex:1;font-size:var(--font-size-md, 14px);color:var(--sidebar-text-color, #333333);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar__unit-item__progress{display:flex;align-items:center;gap:var(--spacing-sm, 8px);margin-top:var(--spacing-xs, 4px)}.progress-percentage{font-size:var(--font-size-sm, 12px);color:var(--sidebar-text-secondary, #666666);min-width:30px;text-align:right}.sidebar__loading,.sidebar__error,.sidebar__empty{padding:var(--spacing-xl, 32px) var(--spacing-md, 16px);text-align:center;color:var(--sidebar-text-secondary, #666666);font-size:var(--font-size-md, 14px)}.sidebar__error{color:var(--sidebar-error-color, #dc3545)}@media(max-width:600px){.sidebar{position:fixed;top:0;left:0;height:100vh;z-index:1000;transform:translate(-100%)}.sidebar--expanded{transform:translate(0)}}.sidebar--collapsed .sidebar__course-info,.sidebar--collapsed .sidebar__unit-item__title,.sidebar--collapsed .sidebar__unit-item__progress{display:none}.sidebar--collapsed .sidebar__header{justify-content:center;padding:var(--spacing-md, 16px)}.sidebar--collapsed .sidebar__toggle-btn{margin-right:0}.sidebar--collapsed .sidebar__unit-item{display:flex;justify-content:center;padding:var(--spacing-sm, 8px)}.sidebar--collapsed .sidebar__unit-item__content{margin-bottom:0}.submenu-container{position:relative;display:inline-block}.submenu-trigger{cursor:pointer}.submenu-panel{position:absolute;z-index:1000;background-color:var(--submenu-background-color, #fff);border:var(--submenu-border, 1px solid #ddd);border-radius:var(--submenu-border-radius, 4px);box-shadow:var(--submenu-shadow, 0 4px 12px rgba(0, 0, 0, .1));padding:var(--submenu-padding, 8px 0);min-width:var(--submenu-min-width, 160px);opacity:0;visibility:hidden;transform:translateY(var(--submenu-transform-y, -10px));transition:opacity var(--submenu-transition-duration, .2s) ease-out,transform var(--submenu-transition-duration, .2s) ease-out,visibility var(--submenu-transition-duration, .2s) ease-out;display:flex;flex-direction:column;gap:var(--submenu-item-gap, 4px)}.submenu-panel.is-open{opacity:1;visibility:visible;transform:translateY(0)}.submenu-panel.position-bottom{top:100%;left:0;transform:translateY(var(--submenu-transform-y-bottom, 10px))}.submenu-panel.position-bottom.alignment-end{left:auto;right:0}.submenu-panel.position-top{bottom:100%;left:0;transform:translateY(var(--submenu-transform-y-top, -10px))}.submenu-item{display:flex;align-items:center;padding:var(--submenu-item-padding, 8px 16px);color:var(--submenu-item-color, #333);font-size:var(--submenu-item-font-size, 14px);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background-color var(--submenu-item-transition-duration, .15s) ease-in-out,color var(--submenu-item-transition-duration, .15s) ease-in-out}.submenu-item:hover,.submenu-item.is-active{background-color:var(--submenu-item-hover-bg-color, #f0f0f0);color:var(--submenu-item-hover-color, #000)}.submenu-item.is-disabled{color:var(--submenu-item-disabled-color, #999);cursor:not-allowed;opacity:.6}.submenu-item-icon{margin-right:var(--submenu-item-icon-margin-right, 8px)}.user-profile-container{display:inline-flex;align-items:center;cursor:pointer;position:relative}.user-profile-trigger{display:flex;align-items:center;gap:var(--spacing-sm, 8px);padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);border-radius:var(--border-radius-md, 6px);transition:background-color var(--transition-duration-fast, .2s) ease}.user-profile-trigger:hover{background-color:var(--color-background-hover, #f5f5f5)}.user-name{font-weight:var(--font-weight-medium, 500);color:var(--color-text-primary, #333);font-size:var(--font-size-md, 14px);line-height:1.4}.user-profile-container.is-loading .user-profile-trigger{opacity:.7;pointer-events:none}.user-profile-container.has-error .user-profile-trigger{border:1px solid var(--color-error, #dc3545)}.user-profile-loading,.user-profile-error{padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border-radius:var(--border-radius-md, 6px);font-size:var(--font-size-sm, 12px);line-height:1.4;text-align:center}.user-profile-loading{background-color:var(--color-background-muted, #f8f9fa);color:var(--color-text-muted, #6c757d);min-width:80px}.user-profile-error{background-color:var(--color-error-bg, #f8d7da);color:var(--color-error, #721c24);border:1px solid var(--color-error-border, #f5c6cb);min-width:120px}@media(max-width:768px){.user-profile-trigger{padding:var(--spacing-xs, 4px);gap:var(--spacing-xs, 4px)}.user-name{font-size:var(--font-size-sm, 12px);display:none}.user-profile-loading,.user-profile-error{font-size:var(--font-size-xs, 10px);padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px)}}@media(min-width:769px){.user-name{display:inline}}[data-theme=dark] .user-profile-trigger:hover{background-color:var(--color-background-hover-dark, #2d2d2d)}[data-theme=dark] .user-name{color:var(--color-text-primary-dark, #ffffff)}[data-theme=dark] .user-profile-loading{background-color:var(--color-background-muted-dark, #2d2d2d);color:var(--color-text-muted-dark, #a0a0a0)}@media(prefers-contrast:high){.user-profile-trigger:hover{background-color:var(--color-background-hover-high-contrast, #000000);outline:2px solid var(--color-border-high-contrast, #ffffff)}.user-name{font-weight:var(--font-weight-bold, 700)}}@media(prefers-reduced-motion:reduce){.user-profile-trigger,.submenu-panel{transition:none}}.user-profile-trigger:focus-visible{outline:2px solid var(--color-focus-ring, #007bff);outline-offset:2px}.user-profile-container:has(.submenu-item.is-disabled){cursor:not-allowed}.user-profile-container:has(.submenu-item.is-disabled) .user-profile-trigger:hover{background-color:transparent}.mathwiz-header{--header-height: 64px;--header-bg: linear-gradient(to right, #8b5cf6, #ec4899, #ef4444);--header-color: white;--header-shadow: 0 2px 4px rgba(0, 0, 0, .1);height:var(--header-height);background:var(--header-bg);color:var(--header-color);box-shadow:var(--header-shadow);position:sticky;top:0;z-index:1000;width:100%}.mathwiz-header--primary{--header-bg: linear-gradient(to right, #006FEE, #005BC4)}.mathwiz-header--secondary{--header-bg: linear-gradient(to right, #7828C8, #5B21B6)}.mathwiz-header--gradient{--header-bg: linear-gradient(to right, #8b5cf6, #ec4899, #ef4444)}.mathwiz-header--solid{--header-bg: var(--custom-bg, #f4f4f5);--header-color: var(--custom-color, #18181b)}.mathwiz-header--bordered{--header-bg: transparent;--header-color: #18181b;border-bottom:1px solid #e4e4e7;box-shadow:none}.mathwiz-header--color-primary{--header-bg: #006FEE;--header-color: white}.mathwiz-header--color-success{--header-bg: #17C964;--header-color: white}.mathwiz-header--color-warning{--header-bg: #F5A524;--header-color: white}.mathwiz-header--color-danger{--header-bg: #F31260;--header-color: white}.mathwiz-header .header-content{display:flex;align-items:center;justify-content:space-between;height:100%;padding:0 1.5rem;max-width:1280px;margin:0 auto;width:100%}.mathwiz-header .header-section{flex:1;display:flex;align-items:center}.mathwiz-header .header-section.left{justify-content:flex-start}.mathwiz-header .header-section.center{justify-content:center;text-align:center}.mathwiz-header .header-section.right{justify-content:flex-end}.mathwiz-header .logo{font-size:var(--logo-font-size, 1.5rem);font-weight:var(--logo-font-weight, bold);text-decoration:none;transition:opacity .2s ease;color:var(--logo-color, var(--header-color))!important}.mathwiz-header .logo:hover{opacity:.8}.mathwiz-header .logo--sm{--logo-font-size: 1.25rem}.mathwiz-header .logo--md{--logo-font-size: 1.5rem}.mathwiz-header .logo--lg{--logo-font-size: 1.75rem}.mathwiz-header .logo--xl{--logo-font-size: 2rem}.explore-button{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:6px;font-size:.875rem;font-weight:500;transition:all .2s ease;background:var(--explore-bg, transparent);border:var(--explore-border, none);color:var(--explore-color, var(--header-color))!important;cursor:pointer}.explore-button--solid{--explore-bg: var(--explore-color, #006FEE);--explore-color: white}.explore-button--bordered{--explore-bg: transparent;--explore-border: 1px solid var(--explore-color, #006FEE);--explore-color: var(--explore-color, #006FEE)}.explore-button--light{--explore-bg: var(--explore-color-light, rgba(0, 111, 238, .1));--explore-color: var(--explore-color, #006FEE)}.explore-button--flat{--explore-bg: transparent;--explore-color: var(--explore-color, #006FEE)}.explore-button--faded{--explore-bg: var(--explore-color-faded, rgba(0, 111, 238, .05));--explore-color: var(--explore-color, #006FEE)}.explore-button--shadow{--explore-bg: var(--explore-color, #006FEE);--explore-color: white;box-shadow:0 2px 4px #006fee4d}.explore-button--color-primary{--explore-color: #006FEE;--explore-color-light: rgba(0, 111, 238, .1);--explore-color-faded: rgba(0, 111, 238, .05)}.explore-button--color-success{--explore-color: #17C964;--explore-color-light: rgba(23, 201, 100, .1);--explore-color-faded: rgba(23, 201, 100, .05)}.explore-button--color-warning{--explore-color: #F5A524;--explore-color-light: rgba(245, 165, 36, .1);--explore-color-faded: rgba(245, 165, 36, .05)}.explore-button--color-danger{--explore-color: #F31260;--explore-color-light: rgba(243, 18, 96, .1);--explore-color-faded: rgba(243, 18, 96, .05)}.explore-button:hover{background-color:var(--explore-bg-hover, rgba(255, 255, 255, .1));color:var(--explore-color-hover, var(--explore-color))}.explore-icon{font-size:1.25rem}.explore-text{font-weight:500}.explore-menu-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;cursor:pointer;transition:background-color .15s ease,color .15s ease;min-width:200px}.explore-menu-item:hover{background-color:var(--hover-bg, #e9ecef);color:var(--accent-color, #4361ee)}.explore-item-label{font-weight:500;flex:1}.explore-item-status{font-size:.75rem;font-weight:500;padding:.25rem .5rem;border-radius:9999px;margin-left:.5rem}.status-new{background-color:var(--success-color, #10b981);color:#fff}.status-progress{color:var(--accent-color, #4361ee)}.status-进行中{background-color:var(--warning-color, #f59e0b);color:#fff}.status-2{background-color:var(--accent-light, #e6f2ff);color:var(--accent-color, #4361ee)}@media(max-width:768px){.mathwiz-header .header-content{padding:0 1rem}.explore-text{display:none}.explore-button{padding:.5rem}.mathwiz-header .logo{font-size:1.25rem}}@media(max-width:480px){.mathwiz-header .header-content{padding:0 .75rem}.explore-button{min-width:auto}}.mathwiz-header:focus-within{outline:2px solid var(--accent-color, #4361ee);outline-offset:2px}.explore-button:focus{outline:2px solid var(--accent-color, #4361ee);outline-offset:2px}@media(prefers-contrast:high){.mathwiz-header{border-bottom:2px solid white}.explore-button{border:1px solid currentColor}}.mathwiz-header .user-name{color:#fff!important}.mathwiz-header .user-profile-trigger:hover{background-color:#ffffff1a!important;opacity:.8}@media(prefers-reduced-motion:reduce){.mathwiz-header .logo,.explore-button,.explore-menu-item{transition:none}}.equation-render{display:flex;align-items:center;gap:.3em}.equation-render.equation-render--block{justify-content:center;margin:1em 0}.equation-render{font-size:var(--equation-font-size, 1rem);color:var(--equation-color, #333333)}.equation-render .katex{font-size:inherit;color:inherit}.equation-render{flex-wrap:wrap}.equation-render>span{display:inline-block;vertical-align:middle}.geometry-transform{--geometry-primary-color: #67b510;--geometry-secondary-color: #0074d9;--geometry-static-fill: #8ec5fc;--geometry-animated-fill: #6a5acd;--geometry-error-color: #ff5252;--geometry-success-color: #7ed321;--geometry-border-color: #e0e0e0;--geometry-text-color: #333333;--geometry-background-color: #ffffff;--geometry-shadow: 0 4px 12px rgba(0, 0, 0, .1);--geometry-border-radius: 8px;--geometry-spacing-sm: 8px;--geometry-spacing-md: 16px;--geometry-spacing-lg: 24px}.geometry-transform--dark{--geometry-primary-color: #8bc34a;--geometry-secondary-color: #64b5f6;--geometry-static-fill: #1565c0;--geometry-animated-fill: #7b1fa2;--geometry-error-color: #ff6b6b;--geometry-success-color: #4caf50;--geometry-border-color: #424242;--geometry-text-color: #f5f5f5;--geometry-background-color: #1e1e1e;--geometry-shadow: 0 4px 12px rgba(0, 0, 0, .3)}.geometry-transform{background-color:var(--geometry-background-color);color:var(--geometry-text-color);border-radius:var(--geometry-border-radius);box-shadow:var(--geometry-shadow);overflow:hidden;transition:all .3s ease}.geometry-transform__board-container{position:relative;width:100%;border-bottom:1px solid var(--geometry-border-color);background-color:var(--geometry-background-color)}.geometry-transform__board{position:relative;width:100%}.geometry-transform__controls{padding:var(--geometry-spacing-md)}.geometry-transform__slider-group{margin:0 auto var(--geometry-spacing-lg);padding:var(--geometry-spacing-md) 0;max-width:520px}.geometry-transform__slider{width:100%;min-height:40px}.geometry-transform__slider [data-slot=track]{height:6px!important;background-color:#e0e0e0!important}.geometry-transform__slider [data-slot=filler]{background-color:#67b510!important}.geometry-transform__slider [data-slot=thumb]{width:24px!important;height:24px!important;background-color:#67b510!important;border:3px solid white!important;box-shadow:0 2px 8px #0003!important}.geometry-transform__slider [data-slot=thumb]:hover{transform:scale(1.1)}.geometry-transform--dark .geometry-transform__slider [data-slot=track]{background-color:#424242!important}.geometry-transform--dark .geometry-transform__slider [data-slot=filler]{background-color:#8bc34a!important}.geometry-transform--dark .geometry-transform__slider [data-slot=thumb]{background-color:#8bc34a!important;border-color:#1e1e1e!important}.geometry-transform__progress-indicator{margin-bottom:var(--geometry-spacing-md)}.geometry-transform__progress-bar{margin-bottom:var(--geometry-spacing-sm)}.geometry-transform__progress-stages{display:flex;gap:var(--geometry-spacing-sm);margin-top:var(--geometry-spacing-sm)}.geometry-transform__progress-stage{flex:1;height:4px;background-color:var(--geometry-border-color);border-radius:2px;transition:background-color .3s ease}.geometry-transform__progress-stage--active{background-color:var(--geometry-primary-color)}.geometry-transform__keyboard-hint{text-align:center;font-size:12px;color:var(--geometry-text-color);opacity:.7;margin-top:var(--geometry-spacing-sm)}.geometry-transform__error{border:1px solid var(--geometry-error-color)}.geometry-transform__error-message{text-align:center;padding:var(--geometry-spacing-lg)}.geometry-transform__error-icon{display:flex;justify-content:center;align-items:center;width:48px;height:48px;color:var(--geometry-error-color);margin:0 auto var(--geometry-spacing-md)}.geometry-transform__error-icon svg{width:100%;height:100%}.geometry-transform__error-message h3{margin-bottom:var(--geometry-spacing-sm);color:var(--geometry-error-color);font-size:18px}.geometry-transform__error-message p{margin-bottom:var(--geometry-spacing-md);color:var(--geometry-text-color);font-size:14px}.geometry-transform__error-details{text-align:left;background-color:#ff52521a;border-radius:var(--geometry-border-radius);padding:var(--geometry-spacing-md);font-size:12px;color:var(--geometry-text-color);overflow:auto;max-height:200px}.geometry-transform__error-details-wrapper{margin-top:var(--geometry-spacing-md);margin-bottom:var(--geometry-spacing-md)}.geometry-transform__error-details-wrapper summary{cursor:pointer;color:var(--geometry-secondary-color);font-size:14px;margin-bottom:var(--geometry-spacing-sm)}.geometry-transform__error-details-wrapper summary:hover{text-decoration:underline}.geometry-transform__error-actions{margin-top:var(--geometry-spacing-lg);display:flex;justify-content:center}.geometry-transform__retry-button{background-color:var(--geometry-primary-color);color:#fff;border:none;border-radius:var(--geometry-border-radius);padding:var(--geometry-spacing-sm) var(--geometry-spacing-lg);font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s ease}.geometry-transform__retry-button:hover{background-color:color-mix(in srgb,var(--geometry-primary-color),black 15%)}.geometry-transform__retry-button:focus{outline:2px solid var(--geometry-primary-color);outline-offset:2px}.geometry-transform__reset-button{background-color:var(--geometry-secondary-color);color:#fff;border:none;border-radius:var(--geometry-border-radius);padding:var(--geometry-spacing-sm) var(--geometry-spacing-lg);font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s ease}.geometry-transform__reset-button:hover{background-color:color-mix(in srgb,var(--geometry-secondary-color),black 15%)}.geometry-transform__reset-button:focus{outline:2px solid var(--geometry-secondary-color);outline-offset:2px}@media(max-width:768px){.geometry-transform__dimension{flex-direction:column;gap:var(--geometry-spacing-sm)}.geometry-transform__controls{padding:var(--geometry-spacing-sm)}}.geometry-transform__slider:focus{outline:2px solid var(--geometry-primary-color);outline-offset:2px}.geometry-transform__progress-stage:focus{outline:2px solid var(--geometry-secondary-color);outline-offset:2px}@media print{.geometry-transform{box-shadow:none;border:1px solid var(--geometry-border-color)}.geometry-transform__board{height:300px}.geometry-transform__keyboard-hint{display:none}}.geometry-transform--compact .geometry-transform__controls{padding:var(--geometry-spacing-sm)}.geometry-transform--compact .geometry-transform__slider-group{margin:0 auto var(--geometry-spacing-md);padding:var(--geometry-spacing-sm) 0;max-width:420px}.geometry-transform--compact .geometry-transform__slider{min-height:32px}.geometry-transform--compact .geometry-transform__slider [data-slot=track]{height:4px!important}.geometry-transform--compact .geometry-transform__slider [data-slot=thumb]{width:18px!important;height:18px!important;border-width:2px!important}.geometry-transform--compact .geometry-transform__keyboard-hint{display:none}.geometry-transform--compact .geometry-transform__board{height:280px}@media(max-width:768px){.geometry-transform--compact .geometry-transform__board{height:220px}}@media(min-width:769px)and (max-width:1024px){.geometry-transform--compact .geometry-transform__board{height:260px}}.hundred-chart-container{display:inline-block;border-radius:8px;padding:8px;background-color:var(--hundred-chart-background, #ffffff);transition:all .2s ease-in-out}.hundred-chart-container.hundred-chart--has-shadow{box-shadow:var(--hundred-chart-shadow, 0 4px 12px rgba(0, 0, 0, .1))}.hundred-chart-container.hundred-chart--edit{cursor:pointer}.hundred-chart-container.hundred-chart--edit:hover{box-shadow:var(--hundred-chart-hover-shadow, 0 6px 16px rgba(0, 0, 0, .15))}.hundred-chart-container.hundred-chart--readonly{cursor:default}.hundred-chart-svg{border-radius:4px;overflow:visible}.hundred-chart-cell{transition:all .15s ease-in-out;cursor:inherit}.hundred-chart-container.hundred-chart--edit .hundred-chart-cell:hover{transform:scale(1.05);filter:brightness(1.1)}.hundred-chart-container.hundred-chart--edit .hundred-chart-cell:focus{outline:2px solid var(--hundred-chart-focus-color, #3b82f6);outline-offset:1px}@media(prefers-contrast:high){.hundred-chart-cell{stroke-width:2px}}@media(prefers-reduced-motion:reduce){.hundred-chart-container,.hundred-chart-cell{transition:none}}@media(max-width:768px){.hundred-chart-container{padding:4px}}@media print{.hundred-chart-container{box-shadow:none!important;border:1px solid #ccc!important}}.mathcard-v2-card{padding:var(--mc-card-padding, 1.5rem)}.mathcard-v2-card.with-border{border:1px solid var(--mc-border-default)}.mathcard-v2-card.with-shadow{box-shadow:var(--mc-shadow-card)}@media(max-width:768px){.mathcard-v2-card{padding:var(--mc-card-padding-lg)}}.mathcard-v2-grid{display:grid;grid-template-columns:repeat(var(--grid-columns, 2),1fr);gap:var(--grid-gap, var(--mc-space-md))}.mathcard-v2-grid-responsive{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}@media(max-width:768px){.mathcard-v2-grid-responsive{grid-template-columns:1fr}}.mathcard-v2-flow{display:flex;flex-direction:var(--flow-direction, column);gap:var(--flow-gap, var(--mc-space-sm));flex-wrap:var(--flow-wrap, nowrap)}.mathcard-v2-flow.horizontal{--flow-direction: row}.mathcard-v2-flow.wrap{--flow-wrap: wrap}.ixl-style-card-container{position:relative;display:flex;flex-direction:column;width:100%;min-height:200px;transition:all .3s ease}.ixl-styled{border-radius:var(--ixl-card-border-radius, 8px);box-shadow:var(--ixl-card-shadow, 0 4px 12px rgba(0, 0, 0, .1));background-color:var(--bg-primary, #ffffff);overflow:hidden}.ixl-tag{font-family:inherit;-webkit-user-select:none;user-select:none;transition:all .3s ease}.ixl-tag-text{display:inline-block;text-transform:uppercase;letter-spacing:.5px}.ixl-desktop-layout{flex-direction:row}.ixl-desktop-layout .ixl-tag{position:absolute;left:0;top:0;bottom:0;z-index:10}.ixl-mobile-layout{flex-direction:column}.ixl-mobile-layout .ixl-tag{position:relative;width:100%;z-index:10}.ixl-type-remember .ixl-tag{background-color:var(--ixl-color-remember, #5bc0de)}.ixl-type-review .ixl-tag{background-color:var(--ixl-color-review, #a5c63b)}.ixl-type-solve .ixl-tag{background-color:var(--ixl-color-solve, #f0ad4e)}.ixl-adjusted{border-left-width:0!important;padding-left:0!important}@media(max-width:768px){.ixl-style-card-container{min-height:180px}.ixl-styled{border-radius:var(--ixl-card-border-radius, 8px)}.ixl-mobile-layout .ixl-tag{height:var(--ixl-mobile-tag-height, 32px);border-radius:var(--ixl-mobile-tag-border-radius, 8px 8px 0 0)}}@media(min-width:1024px){.ixl-style-card-container{max-width:800px;margin:0 auto}}.ixl-styled:hover{box-shadow:0 6px 20px #00000026;transform:translateY(-2px)}.ixl-styled:hover .ixl-tag{opacity:.95}.ixl-style-card-container:focus-within{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.ixl-style-card-container[data-ixl-enabled=false]{opacity:.7;filter:grayscale(.3)}.ixl-style-card-container[data-ixl-enabled=false]:hover{transform:none;box-shadow:var(--ixl-card-shadow, 0 4px 12px rgba(0, 0, 0, .1))}@media print{.ixl-style-card-container{break-inside:avoid;box-shadow:none!important}.ixl-styled{border:1px solid #ddd!important}.ixl-tag{background-color:#f0f0f0!important;color:#333!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}@keyframes ixl-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ixl-style-card-container{animation:ixl-fade-in .3s ease-out}@media(prefers-contrast:high){.ixl-tag{border:2px solid currentColor}.ixl-styled{border:2px solid var(--text-primary, #1e293b)}}@media(prefers-reduced-motion:reduce){.ixl-style-card-container,.ixl-tag,.ixl-styled{transition:none!important;animation:none!important}.ixl-styled:hover{transform:none!important}}.grade-navigation{max-width:800px;margin:0 auto;padding:20px}.grade-navigation__title{font-size:24px;font-weight:700;color:#333;margin-bottom:20px;text-align:center}.grade-navigation__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.grade-card{background:#fff;border:1px solid #e0e0e0;border-left:4px solid;border-radius:8px;padding:20px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.grade-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.grade-card--selected{border-left-width:6px;background:#f8f9fa;box-shadow:0 4px 12px #0003}.grade-card__level{font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.grade-card__name{font-size:20px;font-weight:700;color:#333;margin-bottom:8px}.grade-card__description{font-size:14px;color:#666;line-height:1.4}.side-navigation{width:300px;background:#fff;border-right:1px solid #e0e0e0;height:100vh;overflow-y:auto}.side-navigation__header{padding:20px;border-bottom:1px solid #e0e0e0;background:#f8f9fa}.side-navigation__header h3{margin:0;font-size:18px;color:#333}.side-navigation__content{padding:0}.unit-section{border-bottom:1px solid #e0e0e0}.unit-header{padding:16px 20px;background:#f8f9fa;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s ease}.unit-header:hover{background:#e9ecef}.unit-title{font-weight:600;color:#333;font-size:16px}.unit-toggle{transition:transform .3s ease;color:#666}.unit-toggle.expanded{transform:rotate(180deg)}.lesson-list{list-style:none;margin:0;padding:0}.lesson-item{padding:12px 20px 12px 40px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;border-left:3px solid transparent;transition:all .2s ease;font-size:14px}.lesson-item:hover{background:#f8f9fa}.lesson-item--active{background:#e3f2fd;border-left-color:#2196f3;font-weight:500}.lesson-item--completed{color:#4caf50}.lesson-item--completed .lesson-title:before{content:"✓ ";margin-right:8px;color:#4caf50}.lesson-item--locked{color:#999;cursor:not-allowed}.lesson-item--locked .lesson-title:before{content:"🔒 ";margin-right:8px}.lesson-title{flex:1;color:inherit}.lesson-duration{font-size:12px;color:#666;margin-left:8px}.lesson-status{color:#4caf50;font-weight:700;margin-left:8px}.grade-info{padding:12px 20px;display:flex;flex-direction:column;gap:4px}.grade-level{font-size:14px;color:#666;font-weight:500}.course-title{font-size:16px;color:#333;font-weight:600}@media(max-width:768px){.grade-navigation__grid{grid-template-columns:1fr}.side-navigation{width:100%;height:auto;border-right:none;border-bottom:1px solid #e0e0e0}}._dashboardLayout_10wqn_5{display:flex;flex-direction:column;gap:24px;height:100%}._upperSection_10wqn_19{flex:3;display:grid;grid-template-columns:1fr 1fr;gap:24px}._lowerSection_10wqn_33{flex:2;display:flex;flex-direction:column;gap:16px;padding-top:24px;border-top:1px solid #e2e8f0}._radarChartArea_10wqn_51{position:relative;height:320px;display:flex;align-items:center;justify-content:center}@media(max-width:768px){._upperSection_10wqn_19{grid-template-columns:1fr;gap:16px}._dashboardLayout_10wqn_5{gap:16px}}._animate-fade-in_10wqn_93{animation:_fadeIn_10wqn_1 .6s ease-out}@keyframes _fadeIn_10wqn_1{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.grade-unit-browser-page{display:grid;grid-template-areas:"header header" "sidebar content";grid-template-rows:auto 1fr;grid-template-columns:300px 1fr;min-height:100vh;background-color:var(--page-background, #f8fafc);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.grade-unit-browser-page--sidebar-collapsed{grid-template-columns:60px 1fr}.header-area{grid-area:header;position:sticky;top:0;z-index:100;background:#fff;box-shadow:0 1px 3px #0000001a;width:100%}.sidebar-area{grid-area:sidebar;background:#fff;border-right:none;overflow-y:auto;height:100vh;position:sticky;top:0}.content-area{grid-area:content;padding:24px;overflow-y:auto;overflow-x:hidden;background:#fff;min-height:calc(100vh - 80px);width:100%;min-width:0;max-width:100%;box-sizing:border-box}.content-area h1,.content-area h2,.content-area h3,.content-area h4,.content-area h5,.content-area h6,.content-area p,.content-area div,.content-area span{max-width:100%;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;white-space:normal;box-sizing:border-box}.loading-spinner{display:flex;justify-content:center;align-items:center;height:200px;color:var(--text-secondary, #64748b);font-size:16px}.loading-spinner:before{content:"";width:20px;height:20px;border:2px solid var(--border-color, #e2e8f0);border-top:2px solid var(--primary-color, #3b82f6);border-radius:50%;animation:spin 1s linear infinite;margin-right:12px}.error-message{text-align:center;padding:40px 20px;color:var(--error-color, #dc2626);background:var(--error-bg, #fef2f2);border:1px solid var(--error-border, #fecaca);border-radius:8px;margin:20px}.retry-button{display:block;margin:20px auto;padding:10px 20px;background:var(--primary-color, #3b82f6);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:background-color .2s}.retry-button:hover{background:var(--primary-hover, #2563eb)}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary, #64748b)}.empty-state h3{margin:0 0 8px;font-size:18px;font-weight:600}.empty-state p{margin:0;font-size:14px}@media(max-width:768px){.grade-unit-browser-page{grid-template-areas:"header" "content";grid-template-columns:1fr}.sidebar-area{display:none}.content-area{padding:16px;min-height:calc(100vh - 60px)}.grade-unit-browser-page.sidebar-open{grid-template-areas:"header" "sidebar" "content"}.grade-unit-browser-page.sidebar-open .sidebar-area{display:block;height:auto;position:relative;border-right:none;border-bottom:1px solid var(--border-color, #e2e8f0)}}@media(max-width:480px){.content-area{padding:12px}.error-message{margin:10px;padding:20px 16px}.retry-button{margin:10px auto;padding:8px 16px;font-size:13px}}@media(prefers-color-scheme:dark){.grade-unit-browser-page{background-color:var(--page-background-dark, #0f172a);color:var(--text-primary-dark, #f1f5f9)}.header-area,.sidebar-area,.content-area{background:var(--surface-dark, #1e293b)}.sidebar-area{border-right-color:var(--border-color-dark, #334155)}.error-message{color:var(--error-color-dark, #f87171);background:var(--error-bg-dark, #7f1d1d);border-color:var(--error-border-dark, #b91c1c)}}.grade-unit-browser-page:focus{outline:2px solid var(--focus-ring, #3b82f6);outline-offset:2px}.retry-button:focus{outline:2px solid var(--focus-ring, #3b82f6);outline-offset:2px}@media(prefers-contrast:high){.grade-unit-browser-page{border:1px solid black}.sidebar-area{border-right:2px solid black}.retry-button{border:2px solid black}}.question-scene-container{padding:var(--mc-space-6);max-width:var(--mc-max-content-width);margin:0 auto}@media(min-width:768px){.question-scene-container{padding:var(--mc-space-8)}}.question-scene-card{background-color:var(--mc-bg-primary);border:1px solid var(--mc-border-default);border-radius:var(--mc-radius-lg);box-shadow:var(--mc-shadow-sm);overflow:hidden}.question-display-area{padding:var(--mc-space-6)}.answer-form-container{padding-left:var(--mc-space-6);padding-right:var(--mc-space-6);padding-bottom:var(--mc-space-6);padding-top:var(--mc-space-3);background-color:var(--mc-bg-warm);border-top:1px solid var(--mc-color-warning)}.answer-form{display:flex;flex-wrap:wrap;align-items:center;gap:var(--mc-space-4)}.answer-label{font-size:var(--mc-text-lg);font-weight:var(--mc-font-semibold);color:var(--mc-text-secondary)}.answer-input{width:8rem;min-height:var(--mc-touch-comfortable);border-radius:var(--mc-radius-lg);border:2px solid var(--mc-border-default);padding:var(--mc-space-3) var(--mc-space-3);font-size:var(--mc-text-lg);font-weight:var(--mc-font-semibold);transition:all var(--mc-transition-normal);background-color:var(--mc-bg-primary)}.answer-input:focus{outline:none;border-color:var(--mc-border-focus);box-shadow:0 0 0 4px #3b82f633}.answer-input.error{border-color:var(--mc-color-error);background-color:#f973160d}.answer-input.normal{border-color:var(--mc-border-default);background-color:var(--mc-bg-primary)}.answer-unit{font-size:var(--mc-text-lg);color:var(--mc-text-secondary)}.submit-button{margin-left:auto;flex-shrink:0}.validation-error{margin-top:var(--mc-space-3);color:var(--mc-color-error);font-size:var(--mc-text-sm);font-weight:var(--mc-font-medium);display:flex;align-items:center;gap:var(--mc-space-2)}@media(max-width:768px){.question-scene-container,.question-display-area{padding:var(--mc-space-4)}.answer-form{flex-direction:column;align-items:stretch;gap:var(--mc-space-3)}.answer-input{width:100%}.submit-button{margin-left:0;width:100%}}.remember-module-container{border-left:8px solid var(--mc-color-remember);padding-left:var(--mc-space-6)}.remember-module-title{font-size:var(--mc-text-sm);font-weight:var(--mc-font-bold);color:var(--mc-text-primary);text-transform:uppercase;margin-bottom:var(--mc-space-4)}.remember-module-content{color:var(--mc-text-primary);background-color:var(--mc-bg-secondary);padding:var(--mc-space-4);border-radius:var(--mc-radius-md)}.remember-module-empty{color:var(--mc-text-tertiary)}.remember-module-text-block{margin-bottom:var(--mc-space-2)}.remember-module-formula-block{margin-bottom:var(--mc-space-4)}.remember-module-unsupported{color:var(--mc-text-tertiary)}@media(max-width:768px){.remember-module-container{padding-left:var(--mc-space-4);border-left-width:6px}.remember-module-content{padding:var(--mc-space-3)}}.review-module-container{border-left:8px solid var(--mc-color-review);padding-left:var(--mc-space-6)}.review-module-title{font-size:var(--mc-text-sm);font-weight:var(--mc-font-bold);color:var(--mc-text-primary);text-transform:uppercase;margin-bottom:var(--mc-space-4)}.review-module-content{color:var(--mc-text-primary)}.review-module-question{font-size:var(--mc-text-xl);margin-bottom:var(--mc-space-4)}.review-module-graph{margin-top:var(--mc-space-6);margin-bottom:var(--mc-space-6)}.review-module-user-answer{margin-top:var(--mc-space-4)}.review-module-user-answer-value{font-weight:var(--mc-font-bold);padding:var(--mc-space-1);background-color:#ef44441a;border-radius:var(--mc-radius-md)}@media(max-width:768px){.review-module-container{padding-left:var(--mc-space-4);border-left-width:6px}.review-module-question{font-size:var(--mc-text-lg)}}.explanation-step-container{position:relative;padding:var(--mc-step-padding-y) 0;margin-bottom:var(--mc-step-gap);padding-left:var(--mc-space-5)}.explanation-step-container:before{content:"";position:absolute;left:0;top:0;bottom:0;width:calc(var(--mc-step-sidebar-visible) * var(--mc-step-sidebar-width, var(--mc-step-border-width)));border-radius:var(--mc-step-sidebar-radius, var(--mc-radius-sm));background-color:var(--current-step-color);opacity:var(--mc-step-sidebar-opacity, 1)}.explanation-step-container:after{content:"";position:absolute;inset:0;background:var(--current-step-bg);z-index:-1;border-radius:0 var(--mc-radius-lg) var(--mc-radius-lg) 0}.explanation-step-title{font-family:var(--mc-font-sans);font-size:var(--mc-text-xl);font-weight:var(--mc-font-bold);color:var(--current-step-color);margin-bottom:var(--mc-space-3);display:flex;align-items:baseline;gap:var(--mc-space-2)}.explanation-step-number{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:var(--mc-radius-full);background-color:var(--current-step-color);color:var(--mc-text-inverse);font-size:var(--mc-text-sm);font-weight:var(--mc-font-bold);flex-shrink:0}.explanation-step-content{color:var(--mc-text-secondary);line-height:var(--mc-leading-relaxed);font-size:var(--mc-text-base)}.explanation-step-chart-container{display:flex;justify-content:center;margin:var(--mc-space-6) 0}.explanation-step-mathcard{background:transparent!important;border:none!important;box-shadow:none!important}.explanation-step-mathcard .mathcard-v2-card{background:transparent}.explanation-step-mathcard .mathcard-v2-text-content{color:var(--mc-text-secondary);line-height:var(--mc-leading-relaxed)}@media(max-width:768px){.explanation-step-container{padding-left:var(--mc-space-4)}.explanation-step-title{font-size:var(--mc-text-lg);flex-direction:column;align-items:flex-start;gap:var(--mc-space-2)}}.solve-module-container{border-left:8px solid var(--mc-color-solve);padding-left:var(--mc-space-6)}.solve-module-title{font-size:var(--mc-text-sm);font-weight:var(--mc-font-bold);color:var(--mc-text-primary);text-transform:uppercase;margin-bottom:var(--mc-space-4)}.solve-module-content{color:var(--mc-text-primary)}.solve-module-content>*+*{margin-top:var(--mc-space-4)}.solve-module-empty{padding:var(--mc-space-4);background-color:var(--mc-bg-secondary);border:1px solid var(--mc-border-default);border-radius:var(--mc-radius-md);color:var(--mc-text-tertiary);font-size:var(--mc-text-sm)}.solve-module-button-container{padding-top:var(--mc-space-1)}.solve-module-button{display:inline-flex;align-items:center;gap:var(--mc-space-2);padding:var(--mc-space-2) var(--mc-space-4);border-radius:var(--mc-radius-md);border:1px solid var(--mc-border-default);color:var(--mc-text-primary);background-color:var(--mc-bg-primary);transition:background-color var(--mc-transition-normal);cursor:pointer;min-height:var(--mc-touch-comfortable);min-width:var(--mc-touch-comfortable)}.solve-module-button:hover{background-color:var(--mc-bg-secondary)}.solve-module-button:focus{outline:2px solid var(--mc-border-focus);outline-offset:2px}.solve-module-detailed-container{margin-top:var(--mc-space-6)}.solve-module-detailed-title{font-size:var(--mc-text-lg);font-weight:var(--mc-font-semibold);color:var(--mc-text-primary);margin-bottom:var(--mc-space-4)}@media(max-width:768px){.solve-module-container{padding-left:var(--mc-space-4);border-left-width:6px}.solve-module-button{width:100%;justify-content:center}}.explanation-error-banner{background-color:var(--mc-bg-primary);border-bottom:1px solid var(--mc-color-warning)}.explanation-inner-container{padding:1.5625rem 1.875rem;display:flex;align-items:flex-start;gap:var(--mc-space-4)}.explanation-icon{font-size:var(--mc-text-3xl);line-height:1}.explanation-content{flex:1}.explanation-content-spacing>*+*{margin-top:var(--mc-space-5)}.explanation-title{font-size:2rem;line-height:1.2;font-weight:var(--mc-font-semibold);color:var(--mc-color-info)}.explanation-description{font-size:1.125rem;line-height:1.6;color:var(--mc-text-secondary)}.explanation-description-spacing>*+*{margin-top:var(--mc-space-2)}.correct-answer-label{color:var(--mc-color-review)}.correct-answer-value-container{display:inline-flex;align-items:center;gap:var(--mc-space-2)}.correct-answer-value{font-size:1.25rem;font-weight:var(--mc-font-bold);color:var(--mc-color-error);background-color:#fffc;padding:var(--mc-space-2) var(--mc-space-3);border-radius:var(--mc-radius-md);box-shadow:var(--mc-shadow-sm);font-family:var(--mc-font-serif)}.explanation-button-container{padding-top:var(--mc-space-1)}.explanation-next-button{min-width:120px}.explanation-content-area{padding:var(--mc-space-6);margin-top:var(--mc-space-6)}.explanation-content-area>*+*{margin-top:var(--mc-space-8)}@media(min-width:768px){.explanation-content-area{padding:var(--mc-space-8)}}.explanation-subtitle{font-size:var(--mc-text-xl);font-weight:var(--mc-font-semibold);color:var(--mc-color-review)}.explanation-bottom-area{padding:var(--mc-space-6);text-align:right;border-top:1px solid var(--mc-border-default)}@media(max-width:768px){.explanation-inner-container{flex-direction:column;gap:var(--mc-space-4)}.explanation-button-container{align-self:flex-end;padding-top:0}.explanation-next-button{width:100%}.explanation-title{font-size:var(--mc-text-3xl)}.explanation-description,.correct-answer-value{font-size:var(--mc-text-lg)}.explanation-content-area{padding:var(--mc-space-4);margin-top:var(--mc-space-4)}.explanation-bottom-area{padding:var(--mc-space-4)}}.success-scene-container{padding:var(--mc-space-8);background-color:var(--mc-bg-success);text-align:center}.success-message-title{font-size:var(--mc-text-2xl);font-weight:var(--mc-font-bold);color:var(--mc-color-success)}.success-message-description{font-size:var(--mc-text-lg);color:var(--mc-text-secondary);margin-top:var(--mc-space-2)}.concept-review-container{margin-top:var(--mc-space-6);max-width:var(--mc-max-content-width);margin-left:auto;margin-right:auto}.next-button{margin-top:var(--mc-space-6)}@media(max-width:768px){.success-scene-container{padding:var(--mc-space-6)}.success-message-title{font-size:var(--mc-text-xl)}.success-message-description{font-size:var(--mc-text-base)}.concept-review-container,.next-button{margin-top:var(--mc-space-4)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.math-session-page{min-height:100vh;background-color:#f8fafc;display:flex;flex-direction:column}.math-session-page.loading{display:flex;align-items:center;justify-content:center}.page-loading-container{text-align:center;padding:3rem}.loading-spinner .spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top:4px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text{color:#64748b;font-size:1rem;margin:0}.math-session-page.error{display:flex;align-items:center;justify-content:center}.error-container{text-align:center;padding:3rem;max-width:400px}.error-icon{font-size:3rem;margin-bottom:1rem}.error-title{font-size:1.5rem;font-weight:600;color:#dc2626;margin:0 0 .5rem}.error-message{color:#6b7280;margin:0 0 1.5rem;line-height:1.5}.retry-button{background-color:#3b82f6;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.retry-button:hover{background-color:#2563eb}.retry-button:focus{outline:none;box-shadow:0 0 0 2px #3b82f6}.page-header{background-color:#fff;border-bottom:1px solid #e2e8f0;padding:1rem 2rem}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto}.page-title{font-size:1.5rem;font-weight:700;color:#1e293b;margin:0}.session-info{display:flex;gap:1rem;font-size:.875rem;color:#64748b}.session-id,.grade-info{background-color:#f1f5f9;padding:.25rem .5rem;border-radius:.25rem}.page-main{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.page-footer{background-color:#f1f5f9;border-top:1px solid #e2e8f0;padding:1rem 2rem}.footer-content{max-width:1200px;margin:0 auto;text-align:center}.footer-text{color:#64748b;font-size:.875rem;margin:0}@media(max-width:768px){.page-header{padding:1rem}.header-content{flex-direction:column;gap:.5rem;align-items:flex-start}.session-info{flex-direction:column;gap:.25rem}.page-main,.page-footer{padding:1rem}}@media(prefers-color-scheme:dark){.math-session-page{background-color:#0f172a;color:#f8fafc}.page-header{background-color:#1e293b;border-bottom-color:#334155}.page-title{color:#f8fafc}.session-id,.grade-info{background-color:#334155;color:#cbd5e1}.page-footer{background-color:#1e293b;border-top-color:#334155}.footer-text{color:#94a3b8}}.decimal-error-banner{padding:var(--mc-space-6);background-color:#ef44440d;border-bottom:1px solid rgba(239,68,68,.2);display:flex;align-items:center}.decimal-error-title{font-size:var(--mc-text-xl);font-weight:var(--mc-font-bold);color:#991b1b}.decimal-error-description{color:var(--mc-text-secondary);margin-top:var(--mc-space-1)}.decimal-error-description strong{font-weight:var(--mc-font-bold)}.decimal-understand-button{margin-left:auto;background-color:#059669;color:var(--mc-text-inverse);font-weight:var(--mc-font-bold);padding:var(--mc-space-2) var(--mc-space-6);border-radius:var(--mc-radius-md);transition:background-color var(--mc-transition-normal);border:none;cursor:pointer;min-height:var(--mc-touch-comfortable);min-width:var(--mc-touch-comfortable)}.decimal-understand-button:hover{background-color:#047857}.decimal-content-area{padding:var(--mc-space-6)}.decimal-content-area>*+*{margin-top:var(--mc-space-8)}@media(min-width:768px){.decimal-content-area{padding:var(--mc-space-8)}}.decimal-bottom-area{padding:var(--mc-space-6);text-align:right;border-top:1px solid var(--mc-border-default)}.decimal-bottom-button{background-color:#059669;color:var(--mc-text-inverse);font-weight:var(--mc-font-bold);padding:var(--mc-space-2) var(--mc-space-6);border-radius:var(--mc-radius-md);transition:background-color var(--mc-transition-normal);border:none;cursor:pointer;min-height:var(--mc-touch-comfortable);min-width:var(--mc-touch-comfortable)}.decimal-bottom-button:hover{background-color:#047857}@media(max-width:768px){.decimal-error-banner{flex-direction:column;align-items:stretch;gap:var(--mc-space-4)}.decimal-understand-button{margin-left:0;width:100%}.decimal-content-area,.decimal-bottom-area{padding:var(--mc-space-4)}.decimal-bottom-button{width:100%}}
|