Replace SVG icons with emoji on gradient backgrounds, fix arrow issue
Browse files
app.py
CHANGED
|
@@ -443,11 +443,7 @@ T1, T2, T3, T4, T5, T6 = st.tabs([
|
|
| 443 |
with T1:
|
| 444 |
st.markdown("""
|
| 445 |
<div class='task-card'>
|
| 446 |
-
<div class='task-icon' style='background:linear-gradient(135deg,#4f46e5,#818cf8);box-shadow:0 6px 20px rgba(99,102,241,.4);'>
|
| 447 |
-
<svg width="24" height="24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 24 24">
|
| 448 |
-
<polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/>
|
| 449 |
-
</svg>
|
| 450 |
-
</div>
|
| 451 |
<div>
|
| 452 |
<div class='task-title'>Three agents, one delivery map. Completely different decisions.</div>
|
| 453 |
<div class='task-desc'>Reactive rushes to the nearest stop. Goal-Based plans the full route before
|
|
@@ -688,12 +684,7 @@ with T1:
|
|
| 688 |
with T2:
|
| 689 |
st.markdown("""
|
| 690 |
<div class='task-card'>
|
| 691 |
-
<div class='task-icon' style='background:linear-gradient(135deg,#b45309,#f59e0b);box-shadow:0 6px 20px rgba(180,83,9,.4);'>
|
| 692 |
-
<svg width="24" height="24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 24 24">
|
| 693 |
-
<path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/>
|
| 694 |
-
<circle cx="12" cy="12" r="3"/>
|
| 695 |
-
</svg>
|
| 696 |
-
</div>
|
| 697 |
<div>
|
| 698 |
<div class='task-title'>The model was being unfair. Nobody noticed until now.</div>
|
| 699 |
<div class='task-desc'>Not one rural customer made it to High Value. Zero. The K-Means clustering
|
|
@@ -754,12 +745,7 @@ with T2:
|
|
| 754 |
with T3:
|
| 755 |
st.markdown("""
|
| 756 |
<div class='task-card'>
|
| 757 |
-
<div class='task-icon' style='background:linear-gradient(135deg,#0369a1,#38bdf8);box-shadow:0 6px 20px rgba(3,105,161,.4);'>
|
| 758 |
-
<svg width="24" height="24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 24 24">
|
| 759 |
-
<circle cx="6" cy="18" r="3"/><circle cx="6" cy="6" r="3"/><circle cx="18" cy="6" r="3"/>
|
| 760 |
-
<path d="M6 9v6"/><path d="M9 6h6"/><path d="M9 6a9 9 0 009 9"/>
|
| 761 |
-
</svg>
|
| 762 |
-
</div>
|
| 763 |
<div>
|
| 764 |
<div class='task-title'>Four algorithms, one delivery network. Which one wins?</div>
|
| 765 |
<div class='task-desc'>BFS, DFS, A*, and IDA* all search for the shortest route on a
|
|
@@ -1059,12 +1045,7 @@ with T3:
|
|
| 1059 |
with T4:
|
| 1060 |
st.markdown("""
|
| 1061 |
<div class='task-card'>
|
| 1062 |
-
<div class='task-icon' style='background:linear-gradient(135deg,#6d28d9,#a78bfa);box-shadow:0 6px 20px rgba(109,40,217,.4);'>
|
| 1063 |
-
<svg width="24" height="24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 24 24">
|
| 1064 |
-
<circle cx="12" cy="12" r="10"/>
|
| 1065 |
-
<polyline points="12 6 12 12 16 14"/>
|
| 1066 |
-
</svg>
|
| 1067 |
-
</div>
|
| 1068 |
<div>
|
| 1069 |
<div class='task-title'>Same shortest path, completely different strategies</div>
|
| 1070 |
<div class='task-desc'>A* remembers every node it visits - fast, but memory grows with the network.
|
|
@@ -1131,11 +1112,7 @@ with T4:
|
|
| 1131 |
with T5:
|
| 1132 |
st.markdown("""
|
| 1133 |
<div class='task-card'>
|
| 1134 |
-
<div class='task-icon' style='background:linear-gradient(135deg,#047857,#34d399);box-shadow:0 6px 20px rgba(4,120,87,.4);'>
|
| 1135 |
-
<svg width="24" height="24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 24 24">
|
| 1136 |
-
<polyline points="22 12 18 12 15 21 9 3 6 12 2 12"/>
|
| 1137 |
-
</svg>
|
| 1138 |
-
</div>
|
| 1139 |
<div>
|
| 1140 |
<div class='task-title'>Can a simple model beat 200 decision trees?</div>
|
| 1141 |
<div class='task-desc'>Linear Regression (fast, transparent) goes head-to-head against
|
|
@@ -1203,12 +1180,7 @@ with T5:
|
|
| 1203 |
with T6:
|
| 1204 |
st.markdown("""
|
| 1205 |
<div class='task-card'>
|
| 1206 |
-
<div class='task-icon' style='background:linear-gradient(135deg,#c2410c,#fb923c);box-shadow:0 6px 20px rgba(194,65,12,.4);'>
|
| 1207 |
-
<svg width="24" height="24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 24 24">
|
| 1208 |
-
<path d="M21.21 15.89A10 10 0 118 2.83"/>
|
| 1209 |
-
<path d="M22 12A10 10 0 0012 2v10z"/>
|
| 1210 |
-
</svg>
|
| 1211 |
-
</div>
|
| 1212 |
<div>
|
| 1213 |
<div class='task-title'>What does all of this actually save the business?</div>
|
| 1214 |
<div class='task-desc'>This tab turns the technical results into a live financial model β
|
|
|
|
| 443 |
with T1:
|
| 444 |
st.markdown("""
|
| 445 |
<div class='task-card'>
|
| 446 |
+
<div class='task-icon' style='background:linear-gradient(135deg,#4f46e5,#818cf8);box-shadow:0 6px 20px rgba(99,102,241,.4);font-size:1.5rem;'>π€</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
| 447 |
<div>
|
| 448 |
<div class='task-title'>Three agents, one delivery map. Completely different decisions.</div>
|
| 449 |
<div class='task-desc'>Reactive rushes to the nearest stop. Goal-Based plans the full route before
|
|
|
|
| 684 |
with T2:
|
| 685 |
st.markdown("""
|
| 686 |
<div class='task-card'>
|
| 687 |
+
<div class='task-icon' style='background:linear-gradient(135deg,#b45309,#f59e0b);box-shadow:0 6px 20px rgba(180,83,9,.4);font-size:1.5rem;'>βοΈ</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 688 |
<div>
|
| 689 |
<div class='task-title'>The model was being unfair. Nobody noticed until now.</div>
|
| 690 |
<div class='task-desc'>Not one rural customer made it to High Value. Zero. The K-Means clustering
|
|
|
|
| 745 |
with T3:
|
| 746 |
st.markdown("""
|
| 747 |
<div class='task-card'>
|
| 748 |
+
<div class='task-icon' style='background:linear-gradient(135deg,#0369a1,#38bdf8);box-shadow:0 6px 20px rgba(3,105,161,.4);font-size:1.5rem;'>πΊοΈ</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 749 |
<div>
|
| 750 |
<div class='task-title'>Four algorithms, one delivery network. Which one wins?</div>
|
| 751 |
<div class='task-desc'>BFS, DFS, A*, and IDA* all search for the shortest route on a
|
|
|
|
| 1045 |
with T4:
|
| 1046 |
st.markdown("""
|
| 1047 |
<div class='task-card'>
|
| 1048 |
+
<div class='task-icon' style='background:linear-gradient(135deg,#6d28d9,#a78bfa);box-shadow:0 6px 20px rgba(109,40,217,.4);font-size:1.5rem;'>π</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1049 |
<div>
|
| 1050 |
<div class='task-title'>Same shortest path, completely different strategies</div>
|
| 1051 |
<div class='task-desc'>A* remembers every node it visits - fast, but memory grows with the network.
|
|
|
|
| 1112 |
with T5:
|
| 1113 |
st.markdown("""
|
| 1114 |
<div class='task-card'>
|
| 1115 |
+
<div class='task-icon' style='background:linear-gradient(135deg,#047857,#34d399);box-shadow:0 6px 20px rgba(4,120,87,.4);font-size:1.5rem;'>π</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1116 |
<div>
|
| 1117 |
<div class='task-title'>Can a simple model beat 200 decision trees?</div>
|
| 1118 |
<div class='task-desc'>Linear Regression (fast, transparent) goes head-to-head against
|
|
|
|
| 1180 |
with T6:
|
| 1181 |
st.markdown("""
|
| 1182 |
<div class='task-card'>
|
| 1183 |
+
<div class='task-icon' style='background:linear-gradient(135deg,#c2410c,#fb923c);box-shadow:0 6px 20px rgba(194,65,12,.4);font-size:1.5rem;'>πΌ</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1184 |
<div>
|
| 1185 |
<div class='task-title'>What does all of this actually save the business?</div>
|
| 1186 |
<div class='task-desc'>This tab turns the technical results into a live financial model β
|