AashishAIHub commited on
Commit
19ee249
·
1 Parent(s): 05b9f38

update new ml

Browse files
ml_complete-all-topics/app.js CHANGED
The diff for this file is too large to render. See raw diff
 
ml_complete-all-topics/index.html CHANGED
The diff for this file is too large to render. See raw diff
 
ml_complete-all-topics/style.css CHANGED
@@ -738,892 +738,1230 @@ select.form-control {
738
  }
739
 
740
  /* END PERPLEXITY DESIGN SYSTEM */
741
- :root {
742
- /* Primitive Color Tokens */
743
- --color-white: rgba(255, 255, 255, 1);
744
- --color-black: rgba(0, 0, 0, 1);
745
- --color-cream-50: rgba(252, 252, 249, 1);
746
- --color-cream-100: rgba(255, 255, 253, 1);
747
- --color-gray-200: rgba(245, 245, 245, 1);
748
- --color-gray-300: rgba(167, 169, 169, 1);
749
- --color-gray-400: rgba(119, 124, 124, 1);
750
- --color-slate-500: rgba(98, 108, 113, 1);
751
- --color-brown-600: rgba(94, 82, 64, 1);
752
- --color-charcoal-700: rgba(31, 33, 33, 1);
753
- --color-charcoal-800: rgba(38, 40, 40, 1);
754
- --color-slate-900: rgba(19, 52, 59, 1);
755
- --color-teal-300: rgba(50, 184, 198, 1);
756
- --color-teal-400: rgba(45, 166, 178, 1);
757
- --color-teal-500: rgba(33, 128, 141, 1);
758
- --color-teal-600: rgba(29, 116, 128, 1);
759
- --color-teal-700: rgba(26, 104, 115, 1);
760
- --color-teal-800: rgba(41, 150, 161, 1);
761
- --color-red-400: rgba(255, 84, 89, 1);
762
- --color-red-500: rgba(192, 21, 47, 1);
763
- --color-orange-400: rgba(230, 129, 97, 1);
764
- --color-orange-500: rgba(168, 75, 47, 1);
765
 
766
- /* RGB versions for opacity control */
767
- --color-brown-600-rgb: 94, 82, 64;
768
- --color-teal-500-rgb: 33, 128, 141;
769
- --color-slate-900-rgb: 19, 52, 59;
770
- --color-slate-500-rgb: 98, 108, 113;
771
- --color-red-500-rgb: 192, 21, 47;
772
- --color-red-400-rgb: 255, 84, 89;
773
- --color-orange-500-rgb: 168, 75, 47;
774
- --color-orange-400-rgb: 230, 129, 97;
775
 
776
- /* Background color tokens (Light Mode) */
777
- --color-bg-1: rgba(59, 130, 246, 0.08);
778
- --color-bg-2: rgba(245, 158, 11, 0.08);
779
- --color-bg-3: rgba(34, 197, 94, 0.08);
780
- --color-bg-4: rgba(239, 68, 68, 0.08);
781
- --color-bg-5: rgba(147, 51, 234, 0.08);
782
- --color-bg-6: rgba(249, 115, 22, 0.08);
783
- --color-bg-7: rgba(236, 72, 153, 0.08);
784
- --color-bg-8: rgba(6, 182, 212, 0.08);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
785
 
786
- /* Semantic Color Tokens (Light Mode) */
787
- --color-background: var(--color-cream-50);
788
- --color-surface: var(--color-cream-100);
789
- --color-text: var(--color-slate-900);
790
- --color-text-secondary: var(--color-slate-500);
791
- --color-primary: var(--color-teal-500);
792
- --color-primary-hover: var(--color-teal-600);
793
- --color-primary-active: var(--color-teal-700);
794
- --color-secondary: rgba(var(--color-brown-600-rgb), 0.12);
795
- --color-secondary-hover: rgba(var(--color-brown-600-rgb), 0.2);
796
- --color-secondary-active: rgba(var(--color-brown-600-rgb), 0.25);
797
- --color-border: rgba(var(--color-brown-600-rgb), 0.2);
798
- --color-btn-primary-text: var(--color-cream-50);
799
- --color-card-border: rgba(var(--color-brown-600-rgb), 0.12);
800
- --color-card-border-inner: rgba(var(--color-brown-600-rgb), 0.12);
801
- --color-error: var(--color-red-500);
802
- --color-success: var(--color-teal-500);
803
- --color-warning: var(--color-orange-500);
804
- --color-info: var(--color-slate-500);
805
- --color-focus-ring: rgba(var(--color-teal-500-rgb), 0.4);
806
- --color-select-caret: rgba(var(--color-slate-900-rgb), 0.8);
807
 
808
- /* Typography */
809
- --font-family-base: "FKGroteskNeue", "Geist", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
810
- --font-family-mono: "Berkeley Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
811
- --font-size-xs: 11px;
812
- --font-size-sm: 12px;
813
- --font-size-base: 14px;
814
- --font-size-md: 14px;
815
- --font-size-lg: 16px;
816
- --font-size-xl: 18px;
817
- --font-size-2xl: 20px;
818
- --font-size-3xl: 24px;
819
- --font-size-4xl: 30px;
820
- --font-weight-normal: 400;
821
- --font-weight-medium: 500;
822
- --font-weight-semibold: 550;
823
- --font-weight-bold: 600;
824
- --line-height-tight: 1.2;
825
- --line-height-normal: 1.5;
826
- --letter-spacing-tight: -0.01em;
827
 
828
- /* Spacing */
829
- --space-0: 0;
830
- --space-1: 1px;
831
- --space-2: 2px;
832
- --space-4: 4px;
833
- --space-6: 6px;
834
- --space-8: 8px;
835
- --space-10: 10px;
836
- --space-12: 12px;
837
- --space-16: 16px;
838
- --space-20: 20px;
839
- --space-24: 24px;
840
- --space-32: 32px;
841
 
842
- /* Border Radius */
843
- --radius-sm: 6px;
844
- --radius-base: 8px;
845
- --radius-md: 10px;
846
- --radius-lg: 12px;
847
- --radius-full: 9999px;
 
848
 
849
- /* Shadows */
850
- --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.02);
851
- --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.02);
852
- --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.04), 0 2px 4px -1px rgba(0, 0, 0, 0.02);
853
- --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.04), 0 4px 6px -2px rgba(0, 0, 0, 0.02);
854
- --shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.03);
 
 
 
 
 
 
855
 
856
- /* Animation */
857
- --duration-fast: 150ms;
858
- --duration-normal: 250ms;
859
- --ease-standard: cubic-bezier(0.16, 1, 0.3, 1);
 
860
  }
861
 
862
- @media (prefers-color-scheme: dark) {
863
- :root {
864
- --color-gray-400-rgb: 119, 124, 124;
865
- --color-teal-300-rgb: 50, 184, 198;
866
- --color-gray-300-rgb: 167, 169, 169;
867
- --color-gray-200-rgb: 245, 245, 245;
868
 
869
- --color-bg-1: rgba(29, 78, 216, 0.15);
870
- --color-bg-2: rgba(180, 83, 9, 0.15);
871
- --color-bg-3: rgba(21, 128, 61, 0.15);
872
- --color-bg-4: rgba(185, 28, 28, 0.15);
873
- --color-bg-5: rgba(107, 33, 168, 0.15);
874
- --color-bg-6: rgba(194, 65, 12, 0.15);
875
- --color-bg-7: rgba(190, 24, 93, 0.15);
876
- --color-bg-8: rgba(8, 145, 178, 0.15);
 
 
 
877
 
878
- --color-background: var(--color-charcoal-700);
879
- --color-surface: var(--color-charcoal-800);
880
- --color-text: var(--color-gray-200);
881
- --color-text-secondary: rgba(var(--color-gray-300-rgb), 0.7);
882
- --color-primary: var(--color-teal-300);
883
- --color-primary-hover: var(--color-teal-400);
884
- --color-primary-active: var(--color-teal-800);
885
- --color-secondary: rgba(var(--color-gray-400-rgb), 0.15);
886
- --color-secondary-hover: rgba(var(--color-gray-400-rgb), 0.25);
887
- --color-secondary-active: rgba(var(--color-gray-400-rgb), 0.3);
888
- --color-border: rgba(var(--color-gray-400-rgb), 0.3);
889
- --color-error: var(--color-red-400);
890
- --color-success: var(--color-teal-300);
891
- --color-warning: var(--color-orange-400);
892
- --color-info: var(--color-gray-300);
893
- --color-focus-ring: rgba(var(--color-teal-300-rgb), 0.4);
894
- --color-btn-primary-text: var(--color-slate-900);
895
- --color-card-border: rgba(var(--color-gray-400-rgb), 0.2);
896
- --color-card-border-inner: rgba(var(--color-gray-400-rgb), 0.15);
897
- --shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, 0.1), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
898
- }
899
  }
900
 
901
- @font-face {
902
- font-family: 'FKGroteskNeue';
903
- src: url('https://r2cdn.perplexity.ai/fonts/FKGroteskNeue.woff2') format('woff2');
904
  }
905
 
906
- * {
907
- margin: 0;
908
- padding: 0;
909
- box-sizing: border-box;
 
 
 
 
 
910
  }
911
 
912
- html, body {
913
- height: 100%;
914
- font-family: var(--font-family-base);
915
- font-size: var(--font-size-base);
916
- line-height: var(--line-height-normal);
917
- color: var(--color-text);
918
- background-color: var(--color-background);
919
- -webkit-font-smoothing: antialiased;
920
  }
921
 
922
- .app-container {
923
- display: flex;
924
- height: 100vh;
925
- overflow: hidden;
 
926
  }
927
 
928
- /* Sidebar Navigation */
929
- .sidebar {
930
- width: 260px;
931
- background-color: var(--color-surface);
932
- border-right: 1px solid var(--color-border);
933
- display: flex;
934
- flex-direction: column;
935
- overflow-y: auto;
936
  }
937
 
938
- .sidebar-header {
939
- padding: var(--space-24) var(--space-20);
940
- border-bottom: 1px solid var(--color-border);
941
  }
942
 
943
- .sidebar-header h1 {
944
- font-size: var(--font-size-2xl);
945
- font-weight: var(--font-weight-bold);
946
- color: var(--color-text);
947
- margin-bottom: var(--space-4);
948
  }
949
 
950
- .sidebar-header p {
951
- font-size: var(--font-size-sm);
952
- color: var(--color-text-secondary);
953
  }
954
 
955
- .nav-menu {
956
- list-style: none;
957
- padding: var(--space-12);
 
 
958
  }
959
 
960
- .nav-item {
961
- display: flex;
962
- align-items: center;
963
- padding: var(--space-12) var(--space-16);
964
- margin-bottom: var(--space-4);
965
- border-radius: var(--radius-base);
966
- cursor: pointer;
967
- transition: all var(--duration-fast) var(--ease-standard);
968
- color: var(--color-text);
969
  }
970
 
971
- .nav-item:hover {
972
- background-color: var(--color-secondary);
973
  }
974
 
975
- .nav-item.active {
976
- background-color: var(--color-primary);
977
- color: var(--color-btn-primary-text);
978
  }
979
 
980
- /* TOC Category Styles */
981
- .toc-category {
982
- margin-bottom: var(--space-8);
983
  }
984
 
985
- .toc-category-header {
986
- display: flex;
987
- align-items: center;
988
- padding: var(--space-12) var(--space-16);
989
- background-color: rgba(var(--color-teal-500-rgb), 0.15);
990
- border-radius: var(--radius-base);
991
- cursor: pointer;
992
- transition: all var(--duration-fast) var(--ease-standard);
993
- margin-bottom: var(--space-8);
994
  }
995
 
996
- .toc-category-header:hover {
997
- background-color: rgba(var(--color-teal-500-rgb), 0.25);
 
998
  }
999
 
1000
- .toc-category-header[data-category="supervised"] {
1001
- background-color: rgba(106, 169, 255, 0.15);
1002
  }
1003
 
1004
- .toc-category-header[data-category="supervised"]:hover {
1005
- background-color: rgba(106, 169, 255, 0.25);
1006
  }
1007
 
1008
- .toc-category-header[data-category="unsupervised"] {
1009
- background-color: rgba(126, 240, 212, 0.15);
1010
  }
1011
 
1012
- .toc-category-header[data-category="unsupervised"]:hover {
1013
- background-color: rgba(126, 240, 212, 0.25);
1014
  }
1015
 
1016
- .toc-category-header[data-category="reinforcement"] {
1017
- background-color: rgba(255, 140, 106, 0.15);
1018
  }
1019
 
1020
- .toc-category-header[data-category="reinforcement"]:hover {
1021
- background-color: rgba(255, 140, 106, 0.25);
1022
  }
1023
 
1024
- .category-icon {
1025
- font-size: var(--font-size-xl);
1026
- margin-right: var(--space-8);
1027
  }
1028
 
1029
- .category-title {
1030
- flex: 1;
1031
- font-size: var(--font-size-sm);
1032
- font-weight: var(--font-weight-bold);
1033
- color: var(--color-text);
1034
- letter-spacing: 0.5px;
1035
  }
1036
 
1037
- .category-toggle {
1038
- font-size: var(--font-size-sm);
1039
- color: var(--color-text-secondary);
1040
- transition: transform var(--duration-normal) var(--ease-standard);
1041
  }
1042
 
1043
- .category-toggle.collapsed {
1044
- transform: rotate(-90deg);
 
 
1045
  }
1046
 
1047
- .toc-category-content {
1048
- padding-left: var(--space-16);
1049
- max-height: 1000px;
1050
- overflow: hidden;
1051
- transition: max-height var(--duration-normal) var(--ease-standard);
1052
  }
1053
 
1054
- .toc-category-content.collapsed {
1055
- max-height: 0;
 
 
 
 
 
1056
  }
1057
 
1058
- .toc-subcategory {
1059
- margin-bottom: var(--space-12);
 
 
1060
  }
1061
 
1062
- .toc-subcategory-title {
1063
- font-size: var(--font-size-xs);
1064
- font-weight: var(--font-weight-semibold);
1065
- color: var(--color-text-secondary);
1066
- text-transform: uppercase;
1067
- letter-spacing: 1px;
1068
- padding: var(--space-8) var(--space-8) var(--space-4) var(--space-8);
1069
  }
1070
 
1071
- .toc-link.toc-sub {
1072
- padding: var(--space-8) var(--space-12);
1073
- font-size: var(--font-size-sm);
1074
- margin-bottom: var(--space-4);
 
1075
  }
1076
 
1077
- .nav-icon {
1078
- font-size: var(--font-size-xl);
1079
- margin-right: var(--space-12);
 
1080
  }
1081
 
1082
- .nav-label {
1083
- font-size: var(--font-size-base);
1084
- font-weight: var(--font-weight-medium);
 
 
 
 
 
 
1085
  }
1086
 
1087
- /* Main Content */
1088
- .main-content {
1089
- flex: 1;
1090
- overflow-y: auto;
1091
- padding: var(--space-32);
1092
  }
1093
 
1094
- .module {
1095
- max-width: 1400px;
1096
- margin: 0 auto;
 
1097
  }
1098
 
1099
- .module-header {
1100
- margin-bottom: var(--space-32);
 
 
 
 
 
 
 
1101
  }
1102
 
1103
- .module-header h2 {
1104
- font-size: var(--font-size-4xl);
1105
- font-weight: var(--font-weight-bold);
1106
- margin-bottom: var(--space-8);
1107
- color: var(--color-text);
1108
  }
1109
 
1110
- .module-header p {
1111
- font-size: var(--font-size-lg);
1112
- color: var(--color-text-secondary);
 
1113
  }
1114
 
1115
- .content-grid {
1116
- display: grid;
1117
- grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));
1118
- gap: var(--space-24);
1119
  }
1120
 
1121
- .section {
1122
- background-color: var(--color-surface);
1123
- border: 1px solid var(--color-card-border);
1124
- border-radius: var(--radius-lg);
1125
- padding: var(--space-24);
1126
  }
1127
 
1128
- .section h3 {
1129
- font-size: var(--font-size-xl);
1130
- font-weight: var(--font-weight-semibold);
1131
- margin-bottom: var(--space-16);
1132
- color: var(--color-text);
1133
  }
1134
 
1135
- .section h4 {
1136
- font-size: var(--font-size-lg);
1137
- font-weight: var(--font-weight-medium);
1138
- margin-bottom: var(--space-12);
1139
- color: var(--color-text);
1140
  }
1141
 
1142
- .chart-section {
1143
- display: flex;
1144
- flex-direction: column;
1145
- align-items: center;
 
 
 
1146
  }
1147
 
1148
- .chart-section canvas {
1149
- max-width: 100%;
1150
- height: auto;
 
 
 
 
1151
  }
1152
 
1153
- .full-width {
1154
- grid-column: 1 / -1;
 
1155
  }
1156
 
1157
- /* Tables */
1158
- .table-container {
1159
- overflow-x: auto;
1160
  }
1161
 
1162
- .data-table {
1163
- width: 100%;
1164
- border-collapse: collapse;
1165
  }
1166
 
1167
- .data-table thead {
1168
- background-color: var(--color-secondary);
1169
  }
1170
 
1171
- .data-table th,
1172
- .data-table td {
1173
- padding: var(--space-12);
1174
- text-align: left;
1175
- border-bottom: 1px solid var(--color-border);
1176
  }
1177
 
1178
- .data-table th {
1179
- font-weight: var(--font-weight-semibold);
1180
- font-size: var(--font-size-sm);
1181
- color: var(--color-text);
1182
  }
1183
 
1184
- .data-table td {
1185
- font-size: var(--font-size-base);
1186
- color: var(--color-text);
1187
  }
1188
 
1189
- .data-table tbody tr:hover {
1190
- background-color: var(--color-secondary);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1191
  }
1192
 
1193
  /* Controls */
1194
  .controls {
1195
- display: flex;
1196
- flex-direction: column;
1197
- gap: var(--space-16);
 
1198
  }
1199
 
1200
- .control-group {
1201
- display: flex;
1202
- flex-direction: column;
1203
- gap: var(--space-8);
 
 
1204
  }
1205
 
1206
- .control-group label {
1207
- font-size: var(--font-size-sm);
1208
- font-weight: var(--font-weight-medium);
1209
- color: var(--color-text);
1210
  }
1211
 
1212
- .control-group input[type="range"] {
1213
- width: 100%;
1214
- height: 6px;
1215
- border-radius: var(--radius-full);
1216
- background: var(--color-secondary);
1217
- outline: none;
1218
- cursor: pointer;
 
1219
  }
1220
 
1221
- .control-group input[type="range"]::-webkit-slider-thumb {
1222
- -webkit-appearance: none;
1223
- appearance: none;
1224
- width: 18px;
1225
- height: 18px;
1226
- border-radius: 50%;
1227
- background: var(--color-primary);
1228
- cursor: pointer;
1229
  }
1230
 
1231
- .control-group input[type="range"]::-moz-range-thumb {
1232
- width: 18px;
1233
- height: 18px;
1234
- border-radius: 50%;
1235
- background: var(--color-primary);
1236
- cursor: pointer;
1237
- border: none;
1238
  }
1239
 
1240
- .radio-group {
1241
- display: flex;
1242
- gap: var(--space-16);
1243
- flex-wrap: wrap;
1244
  }
1245
 
1246
- .radio-group label {
1247
- display: flex;
1248
- align-items: center;
1249
- gap: var(--space-6);
1250
- cursor: pointer;
1251
- font-size: var(--font-size-base);
 
1252
  }
1253
 
1254
- .radio-group input[type="radio"] {
1255
- cursor: pointer;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1256
  }
1257
 
1258
  /* Buttons */
1259
  .btn {
1260
- display: inline-flex;
1261
- align-items: center;
1262
- justify-content: center;
1263
- padding: var(--space-10) var(--space-20);
1264
- border-radius: var(--radius-base);
1265
- font-size: var(--font-size-base);
1266
- font-weight: var(--font-weight-medium);
1267
- cursor: pointer;
1268
- transition: all var(--duration-normal) var(--ease-standard);
1269
- border: none;
1270
- text-decoration: none;
1271
  }
1272
 
1273
- .btn--primary {
1274
- background: var(--color-primary);
1275
- color: var(--color-btn-primary-text);
1276
  }
1277
 
1278
- .btn--primary:hover {
1279
- background: var(--color-primary-hover);
 
1280
  }
1281
 
1282
- .btn--secondary {
1283
- background: var(--color-secondary);
1284
- color: var(--color-text);
 
1285
  }
1286
 
1287
- .btn--secondary:hover {
1288
- background: var(--color-secondary-hover);
 
1289
  }
1290
 
1291
- /* Info Cards */
1292
- .info-card {
1293
- background-color: var(--color-bg-1);
1294
- border: 1px solid var(--color-border);
1295
- border-radius: var(--radius-base);
1296
- padding: var(--space-16);
1297
- margin-top: var(--space-16);
1298
  }
1299
 
1300
- .info-card h4 {
1301
- font-size: var(--font-size-sm);
1302
- font-weight: var(--font-weight-medium);
1303
- color: var(--color-text-secondary);
1304
- margin-bottom: var(--space-8);
 
1305
  }
1306
 
1307
- .metric-value {
1308
- font-size: var(--font-size-3xl);
1309
- font-weight: var(--font-weight-bold);
1310
- color: var(--color-primary);
 
 
1311
  }
1312
 
1313
- .metric-detail {
1314
- font-size: var(--font-size-sm);
1315
- color: var(--color-text-secondary);
1316
- margin-top: var(--space-4);
 
1317
  }
1318
 
1319
- /* Explanation Cards */
1320
- .explanation-card {
1321
- background-color: var(--color-bg-2);
1322
- border: 1px solid var(--color-border);
1323
- border-radius: var(--radius-base);
1324
- padding: var(--space-20);
 
 
1325
  }
1326
 
1327
- .explanation-card h4 {
1328
- font-size: var(--font-size-lg);
1329
- font-weight: var(--font-weight-semibold);
1330
- margin-bottom: var(--space-12);
1331
  }
1332
 
1333
- .explanation-card p {
1334
- margin-bottom: var(--space-12);
1335
- line-height: 1.6;
 
 
1336
  }
1337
 
1338
- .explanation-card ul {
1339
- padding-left: var(--space-20);
1340
- margin-top: var(--space-12);
 
 
1341
  }
1342
 
1343
- .explanation-card li {
1344
- margin-bottom: var(--space-8);
1345
- line-height: 1.6;
1346
  }
1347
 
1348
- .formula {
1349
- font-family: var(--font-family-mono);
1350
- background-color: var(--color-surface);
1351
- padding: var(--space-8) var(--space-12);
1352
- border-radius: var(--radius-sm);
1353
- display: inline-block;
1354
- margin: var(--space-8) 0;
1355
- border: 1px solid var(--color-border);
1356
  }
1357
 
1358
- /* Confusion Matrix */
1359
- .confusion-matrix {
1360
- display: grid;
1361
- grid-template-columns: 1fr 1fr;
1362
- gap: var(--space-12);
1363
- margin-bottom: var(--space-20);
1364
  }
1365
 
1366
- .cm-cell {
1367
- padding: var(--space-20);
1368
- border-radius: var(--radius-base);
1369
- text-align: center;
1370
- display: flex;
1371
- flex-direction: column;
1372
- gap: var(--space-8);
1373
  }
1374
 
1375
- .cm-label {
1376
- font-size: var(--font-size-sm);
1377
- font-weight: var(--font-weight-medium);
1378
- color: var(--color-text-secondary);
 
1379
  }
1380
 
1381
- .cm-value {
1382
- font-size: var(--font-size-3xl);
1383
- font-weight: var(--font-weight-bold);
 
 
 
1384
  }
1385
 
1386
- .cm-tn {
1387
- background-color: var(--color-bg-3);
1388
- border: 2px solid var(--color-success);
 
 
1389
  }
1390
 
1391
- .cm-tn .cm-value {
1392
- color: var(--color-success);
 
 
 
 
 
 
1393
  }
1394
 
1395
- .cm-fp {
1396
- background-color: var(--color-bg-4);
1397
- border: 2px solid var(--color-error);
 
 
 
 
1398
  }
1399
 
1400
- .cm-fp .cm-value {
1401
- color: var(--color-error);
 
 
 
 
 
 
 
1402
  }
1403
 
1404
- .cm-fn {
1405
- background-color: var(--color-bg-4);
1406
- border: 2px solid var(--color-error);
1407
  }
1408
 
1409
- .cm-fn .cm-value {
1410
- color: var(--color-error);
 
 
1411
  }
1412
 
1413
- .cm-tp {
1414
- background-color: var(--color-bg-3);
1415
- border: 2px solid var(--color-success);
1416
  }
1417
 
1418
- .cm-tp .cm-value {
1419
- color: var(--color-success);
1420
  }
1421
 
1422
- /* Metrics Panel */
1423
- .metrics-panel {
1424
- display: flex;
1425
- gap: var(--space-20);
1426
- flex-wrap: wrap;
1427
- margin-top: var(--space-16);
1428
  }
1429
 
1430
- .metric-item {
1431
- flex: 1;
1432
- min-width: 150px;
1433
- padding: var(--space-12);
1434
- background-color: var(--color-secondary);
1435
- border-radius: var(--radius-base);
1436
- display: flex;
1437
- flex-direction: column;
1438
- gap: var(--space-4);
1439
  }
1440
 
1441
- .metric-label {
1442
- font-size: var(--font-size-sm);
1443
- color: var(--color-text-secondary);
1444
  }
1445
 
1446
- .metric-val {
1447
- font-size: var(--font-size-xl);
1448
- font-weight: var(--font-weight-bold);
1449
- color: var(--color-text);
 
 
 
1450
  }
1451
 
1452
- /* Three Charts Layout */
1453
- .three-charts {
1454
- display: grid;
1455
- grid-template-columns: repeat(3, 1fr);
1456
- gap: var(--space-20);
1457
- width: 100%;
1458
  }
1459
 
1460
- .chart-container {
1461
- display: flex;
1462
- flex-direction: column;
1463
- align-items: center;
1464
- gap: var(--space-12);
1465
  }
1466
 
1467
- .chart-container h4 {
1468
- font-size: var(--font-size-base);
1469
- font-weight: var(--font-weight-semibold);
1470
- text-align: center;
 
 
 
 
1471
  }
1472
 
1473
- .chart-desc {
1474
- font-size: var(--font-size-sm);
1475
- color: var(--color-text-secondary);
1476
- text-align: center;
1477
- margin-top: var(--space-8);
1478
  }
1479
 
1480
- /* Calculation Panel */
1481
- .calculation-panel {
1482
- display: flex;
1483
- flex-direction: column;
1484
- gap: var(--space-12);
1485
  }
1486
 
1487
- .calc-item {
1488
- display: flex;
1489
- justify-content: space-between;
1490
- align-items: center;
1491
- padding: var(--space-12);
1492
- background-color: var(--color-secondary);
1493
- border-radius: var(--radius-base);
1494
  }
1495
 
1496
- .calc-item strong {
1497
- font-weight: var(--font-weight-medium);
 
 
 
1498
  }
1499
 
1500
- .calc-item span {
1501
- font-family: var(--font-family-mono);
1502
- color: var(--color-primary);
1503
- font-weight: var(--font-weight-semibold);
 
1504
  }
1505
 
1506
- /* Responsive adjustments */
1507
- @media (max-width: 1200px) {
1508
- .content-grid {
1509
- grid-template-columns: 1fr;
1510
- }
1511
-
1512
- .three-charts {
1513
- grid-template-columns: 1fr;
1514
- }
1515
  }
1516
 
1517
- /* Pipeline Flow */
1518
- .pipeline-flow {
1519
- display: grid;
1520
- grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
1521
- gap: var(--space-16);
1522
  }
1523
 
1524
- .pipeline-stage {
1525
- background: var(--color-bg-1);
1526
- border: 1px solid var(--color-border);
1527
- border-radius: var(--radius-base);
1528
- padding: var(--space-16);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1529
  }
1530
 
1531
- .pipeline-stage h4 {
1532
- font-size: var(--font-size-base);
1533
- margin-bottom: var(--space-12);
1534
- color: var(--color-primary);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1535
  }
1536
 
1537
- /* Workflow Container */
1538
- .workflow-container {
1539
- display: flex;
1540
- align-items: center;
1541
- justify-content: space-between;
1542
- flex-wrap: wrap;
1543
- gap: var(--space-16);
1544
- padding: var(--space-24);
1545
  }
1546
 
1547
- .workflow-stage {
1548
- flex: 1;
1549
- min-width: 140px;
1550
- background: var(--color-bg-1);
1551
- border: 2px solid var(--color-border);
1552
- border-radius: var(--radius-lg);
1553
- padding: var(--space-20);
1554
- text-align: center;
1555
- transition: all var(--duration-normal) var(--ease-standard);
1556
- cursor: pointer;
1557
  }
1558
 
1559
- .workflow-stage:hover {
1560
- transform: translateY(-4px);
1561
- box-shadow: var(--shadow-lg);
1562
- border-color: var(--color-primary);
 
1563
  }
1564
 
1565
- .workflow-stage.active {
1566
- background: var(--color-primary);
1567
- color: var(--color-btn-primary-text);
1568
- border-color: var(--color-primary);
 
 
 
 
 
1569
  }
1570
 
1571
- .stage-icon {
1572
- font-size: 32px;
1573
- margin-bottom: var(--space-8);
 
1574
  }
1575
 
1576
- .workflow-stage h4 {
1577
- font-size: var(--font-size-base);
1578
- margin-bottom: var(--space-8);
 
 
 
1579
  }
1580
 
1581
- .workflow-stage p {
1582
- font-size: var(--font-size-sm);
1583
- color: var(--color-text-secondary);
1584
- margin-bottom: var(--space-12);
1585
  }
1586
 
1587
- .workflow-stage.active p {
1588
- color: var(--color-btn-primary-text);
1589
- opacity: 0.9;
 
 
1590
  }
1591
 
1592
- .workflow-arrow {
1593
- font-size: 24px;
1594
- color: var(--color-primary);
1595
- font-weight: bold;
 
 
 
 
1596
  }
1597
 
1598
- .stage-btn {
1599
- font-size: var(--font-size-sm);
1600
- padding: var(--space-6) var(--space-12);
 
 
 
1601
  }
1602
 
1603
- @media (max-width: 1200px) {
1604
- .workflow-container {
1605
- flex-direction: column;
1606
- }
1607
-
1608
- .workflow-arrow {
1609
- transform: rotate(90deg);
1610
- }
1611
  }
1612
 
1613
- @media (max-width: 768px) {
1614
- .sidebar {
1615
- width: 80px;
1616
- }
1617
-
1618
- .nav-label {
1619
- display: none;
1620
- }
1621
-
1622
- .sidebar-header h1 {
1623
- font-size: var(--font-size-lg);
1624
- }
1625
-
1626
- .sidebar-header p {
1627
- display: none;
1628
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1629
  }
 
738
  }
739
 
740
  /* END PERPLEXITY DESIGN SYSTEM */
741
+ /* Reset and Base Styles */
742
+ * {
743
+ margin: 0;
744
+ padding: 0;
745
+ box-sizing: border-box;
746
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
747
 
748
+ html {
749
+ scroll-behavior: smooth;
750
+ }
 
 
 
 
 
 
751
 
752
+ body {
753
+ font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
754
+ background-color: #1a1a2e;
755
+ color: #e1e1e1;
756
+ line-height: 1.6;
757
+ overflow-x: hidden;
758
+ }
759
+
760
+ /* Subject Tabs */
761
+ .subject-tabs {
762
+ display: flex;
763
+ gap: 1rem;
764
+ margin-top: 1rem;
765
+ }
766
+
767
+ .subject-tab {
768
+ padding: 0.6rem 1.5rem;
769
+ background: rgba(74, 144, 226, 0.2);
770
+ border: 2px solid transparent;
771
+ border-radius: 8px;
772
+ color: #a0a0a0;
773
+ font-weight: 600;
774
+ cursor: pointer;
775
+ transition: all 0.3s ease;
776
+ font-size: 0.9rem;
777
+ }
778
+
779
+ .subject-tab:hover {
780
+ background: rgba(74, 144, 226, 0.3);
781
+ color: #64ffda;
782
+ }
783
+
784
+ .subject-tab.active {
785
+ background: linear-gradient(135deg, #4a90e2, #64ffda);
786
+ color: #1a1a2e;
787
+ border-color: #64ffda;
788
+ box-shadow: 0 4px 15px rgba(100, 255, 218, 0.3);
789
+ }
790
+
791
+ /* Top Navigation */
792
+ .top-nav {
793
+ position: sticky;
794
+ top: 0;
795
+ background: linear-gradient(135deg, #16213e 0%, #0f3460 100%);
796
+ padding: 1rem 0;
797
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
798
+ z-index: 1000;
799
+ border-bottom: 2px solid #4a90e2;
800
+ }
801
+
802
+ .nav-container {
803
+ max-width: 1400px;
804
+ margin: 0 auto;
805
+ padding: 0 2rem;
806
+ display: flex;
807
+ flex-direction: column;
808
+ gap: 1rem;
809
+ }
810
 
811
+ .course-title {
812
+ font-size: 1.8rem;
813
+ color: #64ffda;
814
+ font-weight: 700;
815
+ text-shadow: 0 0 20px rgba(100, 255, 218, 0.3);
816
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
817
 
818
+ .mobile-menu-btn {
819
+ display: none;
820
+ flex-direction: column;
821
+ background: none;
822
+ border: none;
823
+ cursor: pointer;
824
+ padding: 0.5rem;
825
+ }
 
 
 
 
 
 
 
 
 
 
 
826
 
827
+ .mobile-menu-btn span {
828
+ width: 25px;
829
+ height: 3px;
830
+ background: #64ffda;
831
+ margin: 3px 0;
832
+ border-radius: 3px;
833
+ transition: all 0.3s ease;
834
+ }
 
 
 
 
 
835
 
836
+ /* Main Container */
837
+ .main-container {
838
+ display: flex;
839
+ max-width: 1400px;
840
+ margin: 0 auto;
841
+ min-height: calc(100vh - 80px);
842
+ }
843
 
844
+ /* Sidebar */
845
+ .sidebar {
846
+ width: 280px;
847
+ background: #16213e;
848
+ padding: 2rem 1rem;
849
+ position: sticky;
850
+ top: 80px;
851
+ height: calc(100vh - 80px);
852
+ overflow-y: auto;
853
+ border-right: 2px solid #0f3460;
854
+ transition: transform 0.3s ease;
855
+ }
856
 
857
+ .sidebar-content h3 {
858
+ color: #64ffda;
859
+ margin-bottom: 1.5rem;
860
+ font-size: 1.3rem;
861
+ text-align: center;
862
  }
863
 
864
+ .module {
865
+ margin-bottom: 2rem;
866
+ }
 
 
 
867
 
868
+ .module-title {
869
+ color: #4a90e2;
870
+ font-size: 0.9rem;
871
+ text-transform: uppercase;
872
+ letter-spacing: 1px;
873
+ margin-bottom: 0.8rem;
874
+ padding: 0.5rem;
875
+ background: rgba(74, 144, 226, 0.1);
876
+ border-radius: 5px;
877
+ border-left: 3px solid #4a90e2;
878
+ }
879
 
880
+ .topic-list {
881
+ list-style: none;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
882
  }
883
 
884
+ .topic-list li {
885
+ margin-bottom: 0.5rem;
 
886
  }
887
 
888
+ .topic-link {
889
+ display: block;
890
+ padding: 0.6rem 0.8rem;
891
+ color: #a0a0a0;
892
+ text-decoration: none;
893
+ border-radius: 5px;
894
+ transition: all 0.3s ease;
895
+ font-size: 0.9rem;
896
+ border-left: 3px solid transparent;
897
  }
898
 
899
+ .topic-link:hover {
900
+ background: rgba(100, 255, 218, 0.1);
901
+ color: #64ffda;
902
+ border-left-color: #64ffda;
903
+ transform: translateX(5px);
 
 
 
904
  }
905
 
906
+ .topic-link.active {
907
+ background: rgba(100, 255, 218, 0.15);
908
+ color: #64ffda;
909
+ border-left-color: #64ffda;
910
+ font-weight: 600;
911
  }
912
 
913
+ /* Scrollbar Styling */
914
+ .sidebar::-webkit-scrollbar {
915
+ width: 8px;
 
 
 
 
 
916
  }
917
 
918
+ .sidebar::-webkit-scrollbar-track {
919
+ background: #0f3460;
 
920
  }
921
 
922
+ .sidebar::-webkit-scrollbar-thumb {
923
+ background: #4a90e2;
924
+ border-radius: 4px;
 
 
925
  }
926
 
927
+ .sidebar::-webkit-scrollbar-thumb:hover {
928
+ background: #64ffda;
 
929
  }
930
 
931
+ /* Main Content */
932
+ .content {
933
+ flex: 1;
934
+ padding: 3rem;
935
+ background: #1a1a2e;
936
  }
937
 
938
+ /* Subject-specific styling */
939
+ .topic-section[data-subject="statistics"] .topic-number {
940
+ background: linear-gradient(135deg, #4a90e2, #64ffda);
 
 
 
 
 
 
941
  }
942
 
943
+ .topic-section[data-subject="linear-algebra"] .topic-number {
944
+ background: linear-gradient(135deg, #b47aea, #e66af5);
945
  }
946
 
947
+ .topic-section[data-subject="calculus"] .topic-number {
948
+ background: linear-gradient(135deg, #ff6b6b, #ffa94d);
 
949
  }
950
 
951
+ .topic-section[data-subject="data-science"] .topic-number {
952
+ background: linear-gradient(135deg, #51cf66, #40c057);
 
953
  }
954
 
955
+ .topic-section[data-subject="machine-learning"] .topic-number {
956
+ background: linear-gradient(135deg, #ff6b9d, #c44569);
 
 
 
 
 
 
 
957
  }
958
 
959
+ /* ML-specific topic number colors by category */
960
+ .topic-number.ml-regression {
961
+ background: linear-gradient(135deg, #4a90e2, #64ffda);
962
  }
963
 
964
+ .topic-number.ml-classification {
965
+ background: linear-gradient(135deg, #ff6b9d, #ffa94d);
966
  }
967
 
968
+ .topic-number.ml-clustering {
969
+ background: linear-gradient(135deg, #51cf66, #40c057);
970
  }
971
 
972
+ .topic-number.ml-reduction {
973
+ background: linear-gradient(135deg, #b47aea, #e66af5);
974
  }
975
 
976
+ .topic-number.ml-reinforcement {
977
+ background: linear-gradient(135deg, #c44569, #ff6b9d);
978
  }
979
 
980
+ .topic-number.ml-advanced {
981
+ background: linear-gradient(135deg, #ffa94d, #f39c12);
982
  }
983
 
984
+ .topic-section[data-subject="linear-algebra"] .topic-header h2 {
985
+ color: #b47aea;
986
  }
987
 
988
+ .topic-section[data-subject="calculus"] .topic-header h2 {
989
+ color: #ff6b6b;
 
990
  }
991
 
992
+ .topic-section[data-subject="data-science"] .topic-header h2 {
993
+ color: #51cf66;
 
 
 
 
994
  }
995
 
996
+ .topic-section[data-subject="machine-learning"] .topic-header h2 {
997
+ color: #ff6b9d;
 
 
998
  }
999
 
1000
+ /* ML section styling */
1001
+ .ml-section {
1002
+ border-left: 4px solid rgba(255, 107, 157, 0.3);
1003
+ padding-left: 20px;
1004
  }
1005
 
1006
+ .ml-section .worked-example-section {
1007
+ border: 2px solid rgba(255, 107, 157, 0.2);
 
 
 
1008
  }
1009
 
1010
+ .ml-section .code-block {
1011
+ background: rgba(0, 0, 0, 0.4);
1012
+ padding: 20px;
1013
+ border-radius: 8px;
1014
+ border-left: 4px solid #ff6b9d;
1015
+ font-family: 'Courier New', monospace;
1016
+ overflow-x: auto;
1017
  }
1018
 
1019
+ .ml-section .code-block code {
1020
+ color: #64ffda;
1021
+ font-size: 14px;
1022
+ line-height: 1.8;
1023
  }
1024
 
1025
+ /* Topic Section */
1026
+ .topic-section {
1027
+ margin-bottom: 4rem;
1028
+ opacity: 0;
1029
+ transform: translateY(20px);
1030
+ animation: fadeInUp 0.6s ease forwards;
 
1031
  }
1032
 
1033
+ @keyframes fadeInUp {
1034
+ to {
1035
+ opacity: 1;
1036
+ transform: translateY(0);
1037
+ }
1038
  }
1039
 
1040
+ .topic-header {
1041
+ margin-bottom: 2rem;
1042
+ padding-bottom: 1.5rem;
1043
+ border-bottom: 3px solid #0f3460;
1044
  }
1045
 
1046
+ .topic-number {
1047
+ display: inline-block;
1048
+ background: linear-gradient(135deg, #4a90e2, #64ffda);
1049
+ color: #1a1a2e;
1050
+ padding: 0.3rem 1rem;
1051
+ border-radius: 20px;
1052
+ font-size: 0.85rem;
1053
+ font-weight: 700;
1054
+ margin-bottom: 0.8rem;
1055
  }
1056
 
1057
+ .topic-header h2 {
1058
+ font-size: 2.5rem;
1059
+ color: #64ffda;
1060
+ margin-bottom: 0.5rem;
1061
+ text-shadow: 0 0 20px rgba(100, 255, 218, 0.2);
1062
  }
1063
 
1064
+ .topic-subtitle {
1065
+ color: #a0a0a0;
1066
+ font-size: 1.1rem;
1067
+ font-style: italic;
1068
  }
1069
 
1070
+ /* Content Cards */
1071
+ .content-card {
1072
+ background: #16213e;
1073
+ padding: 2rem;
1074
+ border-radius: 12px;
1075
+ margin-bottom: 2rem;
1076
+ border: 1px solid #0f3460;
1077
+ box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
1078
+ transition: transform 0.3s ease, box-shadow 0.3s ease;
1079
  }
1080
 
1081
+ .content-card:hover {
1082
+ transform: translateY(-2px);
1083
+ box-shadow: 0 6px 25px rgba(74, 144, 226, 0.2);
 
 
1084
  }
1085
 
1086
+ .content-card h3 {
1087
+ color: #4a90e2;
1088
+ margin-bottom: 1rem;
1089
+ font-size: 1.5rem;
1090
  }
1091
 
1092
+ .content-card h4 {
1093
+ margin-top: 1rem;
1094
+ margin-bottom: 0.8rem;
1095
+ font-size: 1.2rem;
1096
  }
1097
 
1098
+ .content-card p {
1099
+ margin-bottom: 1rem;
1100
+ color: #d0d0d0;
1101
+ line-height: 1.8;
 
1102
  }
1103
 
1104
+ .content-card ul,
1105
+ .content-card ol {
1106
+ margin-left: 2rem;
1107
+ margin-bottom: 1rem;
 
1108
  }
1109
 
1110
+ .content-card li {
1111
+ margin-bottom: 0.5rem;
1112
+ color: #d0d0d0;
 
 
1113
  }
1114
 
1115
+ /* Callout Boxes */
1116
+ .callout-box {
1117
+ padding: 1.5rem;
1118
+ border-radius: 10px;
1119
+ margin-bottom: 2rem;
1120
+ border-left: 4px solid;
1121
+ box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
1122
  }
1123
 
1124
+ .callout-header {
1125
+ font-weight: 700;
1126
+ font-size: 1rem;
1127
+ margin-bottom: 0.8rem;
1128
+ display: flex;
1129
+ align-items: center;
1130
+ gap: 0.5rem;
1131
  }
1132
 
1133
+ .callout-box.insight {
1134
+ background: rgba(100, 255, 218, 0.1);
1135
+ border-left-color: #64ffda;
1136
  }
1137
 
1138
+ .callout-box.insight .callout-header {
1139
+ color: #64ffda;
 
1140
  }
1141
 
1142
+ .callout-box.warning {
1143
+ background: rgba(255, 107, 107, 0.1);
1144
+ border-left-color: #ff6b6b;
1145
  }
1146
 
1147
+ .callout-box.warning .callout-header {
1148
+ color: #ff6b6b;
1149
  }
1150
 
1151
+ .callout-box.tip {
1152
+ background: rgba(81, 207, 102, 0.1);
1153
+ border-left-color: #51cf66;
 
 
1154
  }
1155
 
1156
+ .callout-box.tip .callout-header {
1157
+ color: #51cf66;
 
 
1158
  }
1159
 
1160
+ .callout-box.example {
1161
+ background: rgba(74, 144, 226, 0.1);
1162
+ border-left-color: #4a90e2;
1163
  }
1164
 
1165
+ .callout-box.example .callout-header {
1166
+ color: #4a90e2;
1167
+ }
1168
+
1169
+ .callout-box p,
1170
+ .callout-box ul,
1171
+ .callout-box ol {
1172
+ color: #d0d0d0;
1173
+ }
1174
+
1175
+ /* Formula Cards */
1176
+ .formula-card {
1177
+ background: linear-gradient(135deg, #0f3460 0%, #16213e 100%);
1178
+ padding: 2rem;
1179
+ border-radius: 12px;
1180
+ margin-bottom: 1.5rem;
1181
+ border: 2px solid #4a90e2;
1182
+ box-shadow: 0 4px 20px rgba(74, 144, 226, 0.2);
1183
+ }
1184
+
1185
+ .formula-header {
1186
+ color: #64ffda;
1187
+ font-size: 1.2rem;
1188
+ font-weight: 700;
1189
+ margin-bottom: 1rem;
1190
+ text-align: center;
1191
+ text-transform: uppercase;
1192
+ letter-spacing: 1px;
1193
+ }
1194
+
1195
+ .formula-main {
1196
+ font-size: 1.8rem;
1197
+ text-align: center;
1198
+ margin: 1.5rem 0;
1199
+ color: #fff;
1200
+ font-family: 'Courier New', monospace;
1201
+ }
1202
+
1203
+ .formula-symbol {
1204
+ color: #64ffda;
1205
+ font-weight: 700;
1206
+ font-size: 2rem;
1207
+ }
1208
+
1209
+ .formula-var {
1210
+ color: #64ffda;
1211
+ font-weight: 600;
1212
+ }
1213
+
1214
+ .formula-fraction {
1215
+ display: inline-flex;
1216
+ flex-direction: column;
1217
+ align-items: center;
1218
+ margin: 0 0.5rem;
1219
+ vertical-align: middle;
1220
+ }
1221
+
1222
+ .formula-numerator,
1223
+ .formula-denominator {
1224
+ padding: 0.2rem 0.5rem;
1225
+ }
1226
+
1227
+ .formula-line {
1228
+ width: 100%;
1229
+ height: 2px;
1230
+ background: #fff;
1231
+ margin: 0.2rem 0;
1232
+ }
1233
+
1234
+ .formula-steps {
1235
+ margin-top: 1rem;
1236
+ padding-top: 1rem;
1237
+ border-top: 1px solid rgba(255, 255, 255, 0.1);
1238
+ }
1239
+
1240
+ .formula-steps p {
1241
+ color: #a0a0a0;
1242
+ margin-bottom: 0.5rem;
1243
+ }
1244
+
1245
+ .formula-steps ol,
1246
+ .formula-steps ul {
1247
+ margin-left: 2rem;
1248
+ color: #d0d0d0;
1249
+ }
1250
+
1251
+ .formula-steps li {
1252
+ margin-bottom: 0.5rem;
1253
+ }
1254
+
1255
+ /* Interactive Container */
1256
+ .interactive-container {
1257
+ background: #16213e;
1258
+ padding: 2rem;
1259
+ border-radius: 12px;
1260
+ margin-bottom: 2rem;
1261
+ border: 2px solid #4a90e2;
1262
+ box-shadow: 0 4px 20px rgba(74, 144, 226, 0.3);
1263
+ }
1264
+
1265
+ .interactive-container h3 {
1266
+ color: #64ffda;
1267
+ margin-bottom: 1.5rem;
1268
+ text-align: center;
1269
+ font-size: 1.5rem;
1270
+ }
1271
+
1272
+ .interactive-container canvas {
1273
+ display: block;
1274
+ max-width: 100%;
1275
+ height: auto;
1276
+ margin: 0 auto 1.5rem;
1277
+ background: #0f3460;
1278
+ border-radius: 8px;
1279
+ border: 1px solid #4a90e2;
1280
  }
1281
 
1282
  /* Controls */
1283
  .controls {
1284
+ display: flex;
1285
+ flex-direction: column;
1286
+ gap: 1rem;
1287
+ align-items: center;
1288
  }
1289
 
1290
+ .input-group {
1291
+ display: flex;
1292
+ flex-direction: column;
1293
+ gap: 0.8rem;
1294
+ width: 100%;
1295
+ max-width: 600px;
1296
  }
1297
 
1298
+ .input-group label {
1299
+ color: #64ffda;
1300
+ font-weight: 600;
 
1301
  }
1302
 
1303
+ .form-control {
1304
+ padding: 0.8rem;
1305
+ background: #0f3460;
1306
+ border: 2px solid #4a90e2;
1307
+ border-radius: 8px;
1308
+ color: #e1e1e1;
1309
+ font-size: 1rem;
1310
+ transition: all 0.3s ease;
1311
  }
1312
 
1313
+ .form-control:focus {
1314
+ outline: none;
1315
+ border-color: #64ffda;
1316
+ box-shadow: 0 0 10px rgba(100, 255, 218, 0.3);
 
 
 
 
1317
  }
1318
 
1319
+ .slider-group {
1320
+ display: flex;
1321
+ flex-direction: column;
1322
+ gap: 0.5rem;
1323
+ width: 100%;
 
 
1324
  }
1325
 
1326
+ .slider-group label {
1327
+ color: #64ffda;
1328
+ font-weight: 600;
 
1329
  }
1330
 
1331
+ .slider {
1332
+ width: 100%;
1333
+ height: 8px;
1334
+ border-radius: 5px;
1335
+ background: #0f3460;
1336
+ outline: none;
1337
+ -webkit-appearance: none;
1338
  }
1339
 
1340
+ .slider::-webkit-slider-thumb {
1341
+ -webkit-appearance: none;
1342
+ appearance: none;
1343
+ width: 20px;
1344
+ height: 20px;
1345
+ border-radius: 50%;
1346
+ background: #64ffda;
1347
+ cursor: pointer;
1348
+ box-shadow: 0 0 10px rgba(100, 255, 218, 0.5);
1349
+ transition: all 0.3s ease;
1350
+ }
1351
+
1352
+ .slider::-webkit-slider-thumb:hover {
1353
+ background: #4a90e2;
1354
+ transform: scale(1.2);
1355
+ }
1356
+
1357
+ .slider::-moz-range-thumb {
1358
+ width: 20px;
1359
+ height: 20px;
1360
+ border-radius: 50%;
1361
+ background: #64ffda;
1362
+ cursor: pointer;
1363
+ border: none;
1364
+ box-shadow: 0 0 10px rgba(100, 255, 218, 0.5);
1365
  }
1366
 
1367
  /* Buttons */
1368
  .btn {
1369
+ padding: 0.8rem 2rem;
1370
+ border: none;
1371
+ border-radius: 8px;
1372
+ font-size: 1rem;
1373
+ font-weight: 600;
1374
+ cursor: pointer;
1375
+ transition: all 0.3s ease;
1376
+ text-transform: uppercase;
1377
+ letter-spacing: 1px;
1378
+ box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
 
1379
  }
1380
 
1381
+ .btn-primary {
1382
+ background: linear-gradient(135deg, #4a90e2, #64ffda);
1383
+ color: #1a1a2e;
1384
  }
1385
 
1386
+ .btn-primary:hover {
1387
+ transform: translateY(-2px);
1388
+ box-shadow: 0 6px 20px rgba(100, 255, 218, 0.4);
1389
  }
1390
 
1391
+ .btn-secondary {
1392
+ background: #0f3460;
1393
+ color: #64ffda;
1394
+ border: 2px solid #4a90e2;
1395
  }
1396
 
1397
+ .btn-secondary:hover {
1398
+ background: #16213e;
1399
+ transform: translateY(-2px);
1400
  }
1401
 
1402
+ /* Results Display */
1403
+ .results {
1404
+ display: grid;
1405
+ grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
1406
+ gap: 1rem;
1407
+ width: 100%;
1408
+ margin-top: 1rem;
1409
  }
1410
 
1411
+ .result-item {
1412
+ background: #0f3460;
1413
+ padding: 1rem;
1414
+ border-radius: 8px;
1415
+ text-align: center;
1416
+ border: 2px solid #4a90e2;
1417
  }
1418
 
1419
+ .result-label {
1420
+ display: block;
1421
+ color: #64ffda;
1422
+ font-weight: 600;
1423
+ margin-bottom: 0.5rem;
1424
+ font-size: 0.9rem;
1425
  }
1426
 
1427
+ .result-item span:last-child {
1428
+ display: block;
1429
+ color: #fff;
1430
+ font-size: 1.5rem;
1431
+ font-weight: 700;
1432
  }
1433
 
1434
+ /* Tables */
1435
+ .comparison-table {
1436
+ width: 100%;
1437
+ border-collapse: collapse;
1438
+ margin: 1rem 0;
1439
+ background: #0f3460;
1440
+ border-radius: 8px;
1441
+ overflow: hidden;
1442
  }
1443
 
1444
+ .comparison-table thead {
1445
+ background: linear-gradient(135deg, #4a90e2, #64ffda);
1446
+ color: #1a1a2e;
 
1447
  }
1448
 
1449
+ .comparison-table th,
1450
+ .comparison-table td {
1451
+ padding: 1rem;
1452
+ text-align: left;
1453
+ border-bottom: 1px solid #16213e;
1454
  }
1455
 
1456
+ .comparison-table th {
1457
+ font-weight: 700;
1458
+ text-transform: uppercase;
1459
+ font-size: 0.9rem;
1460
+ letter-spacing: 1px;
1461
  }
1462
 
1463
+ .comparison-table tbody tr {
1464
+ transition: background 0.3s ease;
 
1465
  }
1466
 
1467
+ .comparison-table tbody tr:hover {
1468
+ background: rgba(74, 144, 226, 0.1);
 
 
 
 
 
 
1469
  }
1470
 
1471
+ .comparison-table td {
1472
+ color: #d0d0d0;
 
 
 
 
1473
  }
1474
 
1475
+ /* Two Column Layout */
1476
+ .two-column {
1477
+ display: grid;
1478
+ grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
1479
+ gap: 2rem;
1480
+ margin: 1.5rem 0;
 
1481
  }
1482
 
1483
+ .column {
1484
+ background: #0f3460;
1485
+ padding: 1.5rem;
1486
+ border-radius: 8px;
1487
+ border: 2px solid rgba(74, 144, 226, 0.3);
1488
  }
1489
 
1490
+ /* Comparison Grid */
1491
+ .comparison-grid {
1492
+ display: grid;
1493
+ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
1494
+ gap: 1.5rem;
1495
+ margin: 1.5rem 0;
1496
  }
1497
 
1498
+ .comparison-item {
1499
+ background: #0f3460;
1500
+ padding: 1.5rem;
1501
+ border-radius: 8px;
1502
+ border-left: 4px solid #4a90e2;
1503
  }
1504
 
1505
+ /* Data Tree */
1506
+ .data-tree {
1507
+ display: flex;
1508
+ flex-direction: column;
1509
+ align-items: center;
1510
+ gap: 2rem;
1511
+ padding: 2rem;
1512
+ margin: 1.5rem 0;
1513
  }
1514
 
1515
+ .tree-level-1,
1516
+ .tree-level-2,
1517
+ .tree-level-3 {
1518
+ display: flex;
1519
+ gap: 2rem;
1520
+ justify-content: center;
1521
+ flex-wrap: wrap;
1522
  }
1523
 
1524
+ .tree-node {
1525
+ padding: 1rem 2rem;
1526
+ background: #0f3460;
1527
+ border: 2px solid #4a90e2;
1528
+ border-radius: 8px;
1529
+ color: #64ffda;
1530
+ font-weight: 600;
1531
+ position: relative;
1532
+ transition: all 0.3s ease;
1533
  }
1534
 
1535
+ .tree-node:hover {
1536
+ transform: scale(1.05);
1537
+ box-shadow: 0 4px 15px rgba(74, 144, 226, 0.4);
1538
  }
1539
 
1540
+ .tree-node.main {
1541
+ font-size: 1.3rem;
1542
+ background: linear-gradient(135deg, #4a90e2, #64ffda);
1543
+ color: #1a1a2e;
1544
  }
1545
 
1546
+ .tree-node.categorical {
1547
+ border-color: #64ffda;
 
1548
  }
1549
 
1550
+ .tree-node.numerical {
1551
+ border-color: #ff6b6b;
1552
  }
1553
 
1554
+ /* Use Case List */
1555
+ .use-case-list {
1556
+ list-style: none;
1557
+ margin-left: 0;
 
 
1558
  }
1559
 
1560
+ .use-case-list li {
1561
+ padding: 1rem;
1562
+ margin-bottom: 1rem;
1563
+ background: #0f3460;
1564
+ border-radius: 8px;
1565
+ border-left: 4px solid #4a90e2;
1566
+ transition: all 0.3s ease;
 
 
1567
  }
1568
 
1569
+ .use-case-list li:hover {
1570
+ transform: translateX(5px);
1571
+ border-left-color: #64ffda;
1572
  }
1573
 
1574
+ /* Example Solution */
1575
+ .example-solution {
1576
+ background: #0f3460;
1577
+ padding: 1.5rem;
1578
+ border-radius: 8px;
1579
+ margin-top: 1rem;
1580
+ font-family: 'Courier New', monospace;
1581
  }
1582
 
1583
+ .example-solution p {
1584
+ margin-bottom: 0.8rem;
1585
+ color: #d0d0d0;
 
 
 
1586
  }
1587
 
1588
+ .example-solution strong {
1589
+ color: #64ffda;
 
 
 
1590
  }
1591
 
1592
+ /* Summary Card */
1593
+ .summary-card {
1594
+ background: linear-gradient(135deg, #0f3460 0%, #16213e 100%);
1595
+ padding: 2rem;
1596
+ border-radius: 12px;
1597
+ border: 2px solid #64ffda;
1598
+ box-shadow: 0 4px 20px rgba(100, 255, 218, 0.3);
1599
+ margin-bottom: 2rem;
1600
  }
1601
 
1602
+ .summary-card h3 {
1603
+ color: #64ffda;
1604
+ margin-bottom: 1rem;
1605
+ font-size: 1.5rem;
1606
+ text-align: center;
1607
  }
1608
 
1609
+ .summary-card ul {
1610
+ list-style: none;
1611
+ margin-left: 0;
 
 
1612
  }
1613
 
1614
+ .summary-card li {
1615
+ padding: 0.8rem;
1616
+ margin-bottom: 0.8rem;
1617
+ background: rgba(100, 255, 218, 0.05);
1618
+ border-radius: 6px;
1619
+ border-left: 3px solid #64ffda;
1620
+ color: #d0d0d0;
1621
  }
1622
 
1623
+ .summary-card li::before {
1624
+ content: "✓";
1625
+ color: #64ffda;
1626
+ font-weight: 700;
1627
+ margin-right: 0.8rem;
1628
  }
1629
 
1630
+ /* Data Examples Table */
1631
+ .data-examples-table {
1632
+ width: 100%;
1633
+ border-collapse: collapse;
1634
+ margin-top: 1rem;
1635
  }
1636
 
1637
+ .data-examples-table th,
1638
+ .data-examples-table td {
1639
+ padding: 1rem;
1640
+ text-align: left;
1641
+ border-bottom: 1px solid rgba(74, 144, 226, 0.2);
 
 
 
 
1642
  }
1643
 
1644
+ .data-examples-table th {
1645
+ background: rgba(74, 144, 226, 0.2);
1646
+ color: #64ffda;
1647
+ font-weight: 600;
 
1648
  }
1649
 
1650
+ /* Responsive Design */
1651
+ @media (max-width: 1024px) {
1652
+ .subject-tabs {
1653
+ flex-wrap: wrap;
1654
+ gap: 0.5rem;
1655
+ }
1656
+
1657
+ .subject-tab {
1658
+ font-size: 0.8rem;
1659
+ padding: 0.5rem 1rem;
1660
+ }
1661
+ .main-container {
1662
+ flex-direction: column;
1663
+ }
1664
+
1665
+ .sidebar {
1666
+ width: 100%;
1667
+ height: auto;
1668
+ position: static;
1669
+ transform: translateX(-100%);
1670
+ }
1671
+
1672
+ .sidebar.active {
1673
+ transform: translateX(0);
1674
+ }
1675
+
1676
+ .mobile-menu-btn {
1677
+ display: flex;
1678
+ }
1679
+
1680
+ .content {
1681
+ padding: 2rem 1.5rem;
1682
+ }
1683
+
1684
+ .topic-header h2 {
1685
+ font-size: 2rem;
1686
+ }
1687
+
1688
+ .two-column {
1689
+ grid-template-columns: 1fr;
1690
+ }
1691
  }
1692
 
1693
+ @media (max-width: 768px) {
1694
+ .course-title {
1695
+ font-size: 1.3rem;
1696
+ }
1697
+
1698
+ .content {
1699
+ padding: 1.5rem 1rem;
1700
+ }
1701
+
1702
+ .topic-header h2 {
1703
+ font-size: 1.6rem;
1704
+ }
1705
+
1706
+ .formula-main {
1707
+ font-size: 1.3rem;
1708
+ }
1709
+
1710
+ .comparison-grid {
1711
+ grid-template-columns: 1fr;
1712
+ }
1713
+
1714
+ .results {
1715
+ grid-template-columns: 1fr;
1716
+ }
1717
+
1718
+ .interactive-container canvas {
1719
+ max-width: 100%;
1720
+ height: auto;
1721
+ }
1722
  }
1723
 
1724
+ /* Worked Example Section Styles */
1725
+ .worked-example-section {
1726
+ background: linear-gradient(135deg, #1e3a5f 0%, #2d4a6f 100%);
1727
+ border-radius: 12px;
1728
+ padding: 30px;
1729
+ margin: 40px 0;
1730
+ border-left: 5px solid #64ffda;
1731
+ box-shadow: 0 8px 16px rgba(0,0,0,0.3);
1732
  }
1733
 
1734
+ .example-problem {
1735
+ background: rgba(255,255,255,0.08);
1736
+ padding: 25px;
1737
+ border-radius: 10px;
1738
+ margin-bottom: 30px;
1739
+ border: 2px solid #64ffda;
 
 
 
 
1740
  }
1741
 
1742
+ .problem-statement {
1743
+ font-size: 19px;
1744
+ font-weight: 600;
1745
+ color: #64ffda;
1746
+ line-height: 1.6;
1747
  }
1748
 
1749
+ .solution-step {
1750
+ display: flex;
1751
+ gap: 20px;
1752
+ margin: 25px 0;
1753
+ padding: 25px;
1754
+ background: rgba(0,0,0,0.3);
1755
+ border-radius: 10px;
1756
+ border-left: 4px solid #4a90e2;
1757
+ transition: all 0.3s ease;
1758
  }
1759
 
1760
+ .solution-step:hover {
1761
+ background: rgba(0,0,0,0.4);
1762
+ border-left-width: 6px;
1763
+ transform: translateX(5px);
1764
  }
1765
 
1766
+ .step-number {
1767
+ font-weight: 700;
1768
+ color: #64ffda;
1769
+ font-size: 20px;
1770
+ min-width: 90px;
1771
+ flex-shrink: 0;
1772
  }
1773
 
1774
+ .step-content {
1775
+ flex: 1;
 
 
1776
  }
1777
 
1778
+ .step-description {
1779
+ font-size: 16px;
1780
+ font-weight: 600;
1781
+ color: #fff;
1782
+ margin-bottom: 12px;
1783
  }
1784
 
1785
+ .step-work {
1786
+ background: rgba(0,0,0,0.4);
1787
+ padding: 18px;
1788
+ border-radius: 8px;
1789
+ margin: 12px 0;
1790
+ font-family: 'Courier New', monospace;
1791
+ border-left: 3px solid #ff6b6b;
1792
+ overflow-x: auto;
1793
  }
1794
 
1795
+ .step-work code {
1796
+ display: block;
1797
+ color: #e1e1e1;
1798
+ font-size: 14px;
1799
+ line-height: 1.8;
1800
+ margin: 4px 0;
1801
  }
1802
 
1803
+ .step-explanation {
1804
+ font-style: italic;
1805
+ color: #a0a0a0;
1806
+ font-size: 14px;
1807
+ margin-top: 10px;
 
 
 
1808
  }
1809
 
1810
+ .calculation-table {
1811
+ width: 100%;
1812
+ border-collapse: collapse;
1813
+ margin: 15px 0;
1814
+ background: rgba(0,0,0,0.2);
1815
+ border-radius: 8px;
1816
+ overflow: hidden;
1817
+ }
1818
+
1819
+ .calculation-table th,
1820
+ .calculation-table td {
1821
+ padding: 12px;
1822
+ border: 1px solid rgba(255,255,255,0.1);
1823
+ text-align: center;
1824
+ }
1825
+
1826
+ .calculation-table th {
1827
+ background: #4a90e2;
1828
+ font-weight: 600;
1829
+ color: #fff;
1830
+ }
1831
+
1832
+ .calculation-table tbody tr:hover {
1833
+ background: rgba(100, 255, 218, 0.1);
1834
+ }
1835
+
1836
+ .final-answer {
1837
+ background: linear-gradient(135deg, #51cf66 0%, #37b24d 100%);
1838
+ padding: 25px;
1839
+ border-radius: 10px;
1840
+ margin-top: 30px;
1841
+ text-align: center;
1842
+ font-size: 18px;
1843
+ box-shadow: 0 4px 12px rgba(81,207,102,0.3);
1844
+ }
1845
+
1846
+ .answer-highlight {
1847
+ font-weight: 700;
1848
+ font-size: 24px;
1849
+ color: white;
1850
+ display: block;
1851
+ margin-top: 12px;
1852
+ text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
1853
+ }
1854
+
1855
+ .verification {
1856
+ background: rgba(100, 255, 218, 0.1);
1857
+ padding: 20px;
1858
+ border-radius: 8px;
1859
+ border-left: 4px solid #51cf66;
1860
+ margin-top: 20px;
1861
+ }
1862
+
1863
+ .verification strong {
1864
+ color: #51cf66;
1865
+ font-size: 16px;
1866
+ }
1867
+
1868
+ .verification p {
1869
+ color: #d0d0d0;
1870
+ margin-top: 10px;
1871
+ line-height: 1.6;
1872
+ }
1873
+
1874
+ .practice-problems {
1875
+ background: rgba(74, 144, 226, 0.1);
1876
+ padding: 25px;
1877
+ border-radius: 10px;
1878
+ margin-top: 30px;
1879
+ border: 2px solid #4a90e2;
1880
+ }
1881
+
1882
+ .practice-problems h4 {
1883
+ color: #64ffda;
1884
+ margin-bottom: 15px;
1885
+ font-size: 18px;
1886
+ }
1887
+
1888
+ .practice-problems ol {
1889
+ margin: 15px 0 15px 25px;
1890
+ color: #d0d0d0;
1891
+ }
1892
+
1893
+ .practice-problems li {
1894
+ margin-bottom: 10px;
1895
+ line-height: 1.6;
1896
+ }
1897
+
1898
+ .show-answers-btn {
1899
+ background: #4a90e2;
1900
+ color: white;
1901
+ border: none;
1902
+ padding: 10px 20px;
1903
+ border-radius: 6px;
1904
+ cursor: pointer;
1905
+ font-weight: 600;
1906
+ margin: 10px 0;
1907
+ transition: all 0.3s ease;
1908
+ }
1909
+
1910
+ .show-answers-btn:hover {
1911
+ background: #64ffda;
1912
+ color: #1a1a2e;
1913
+ transform: translateY(-2px);
1914
+ }
1915
+
1916
+ .practice-answers {
1917
+ background: rgba(0,0,0,0.3);
1918
+ padding: 20px;
1919
+ border-radius: 8px;
1920
+ margin-top: 15px;
1921
+ border-left: 4px solid #51cf66;
1922
+ }
1923
+
1924
+ .practice-answers p strong {
1925
+ color: #51cf66;
1926
+ }
1927
+
1928
+ .practice-answers ol {
1929
+ margin-left: 25px;
1930
+ color: #e1e1e1;
1931
+ }
1932
+
1933
+ /* Animations */
1934
+ @keyframes pulse {
1935
+ 0%, 100% {
1936
+ opacity: 1;
1937
+ }
1938
+ 50% {
1939
+ opacity: 0.5;
1940
+ }
1941
+ }
1942
+
1943
+ .pulse {
1944
+ animation: pulse 2s ease-in-out infinite;
1945
+ }
1946
+
1947
+ /* Loading State */
1948
+ .loading {
1949
+ display: inline-block;
1950
+ width: 20px;
1951
+ height: 20px;
1952
+ border: 3px solid rgba(100, 255, 218, 0.3);
1953
+ border-radius: 50%;
1954
+ border-top-color: #64ffda;
1955
+ animation: spin 1s ease-in-out infinite;
1956
+ }
1957
+
1958
+ @keyframes spin {
1959
+ to {
1960
+ transform: rotate(360deg);
1961
+ }
1962
+ }
1963
+
1964
+ /* Smooth Transitions */
1965
+ * {
1966
+ transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
1967
  }