Changed around line 1
+ :root {
+ --primary-color: #2196f3;
+ --secondary-color: #1976d2;
+ --background-color: #f5f5f5;
+ --text-color: #333;
+ --milestone-size: 20px;
+ }
+
+ * {
+ margin: 0;
+ padding: 0;
+ box-sizing: border-box;
+ }
+
+ body {
+ font-family: 'Segoe UI', system-ui, sans-serif;
+ line-height: 1.6;
+ color: var(--text-color);
+ background-color: var(--background-color);
+ }
+
+ header {
+ text-align: center;
+ padding: 2rem;
+ background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
+ color: white;
+ }
+
+ main {
+ max-width: 1200px;
+ margin: 2rem auto;
+ padding: 0 1rem;
+ }
+
+ .timeline-container {
+ position: relative;
+ margin: 4rem 0;
+ }
+
+ .progress-bar {
+ position: absolute;
+ top: var(--milestone-size);
+ left: 0;
+ width: 100%;
+ height: 4px;
+ background-color: #ddd;
+ border-radius: 2px;
+ }
+
+ .progress-fill {
+ width: 0;
+ height: 100%;
+ background-color: var(--primary-color);
+ border-radius: 2px;
+ transition: width 1.5s ease-in-out;
+ }
+
+ .milestones {
+ position: relative;
+ padding-top: var(--milestone-size);
+ }
+
+ .milestone {
+ position: absolute;
+ transform: translateX(-50%);
+ }
+
+ .milestone-dot {
+ width: var(--milestone-size);
+ height: var(--milestone-size);
+ background-color: white;
+ border: 4px solid var(--primary-color);
+ border-radius: 50%;
+ position: absolute;
+ top: 0;
+ left: 50%;
+ transform: translateX(-50%);
+ transition: background-color 0.3s;
+ }
+
+ .milestone.active .milestone-dot {
+ background-color: var(--primary-color);
+ }
+
+ .milestone-content {
+ position: absolute;
+ top: calc(var(--milestone-size) + 1rem);
+ left: 50%;
+ transform: translateX(-50%);
+ background: white;
+ padding: 1rem;
+ border-radius: 8px;
+ box-shadow: 0 2px 8px rgba(0,0,0,0.1);
+ width: 200px;
+ opacity: 0;
+ transition: opacity 0.3s;
+ }
+
+ .milestone.active .milestone-content {
+ opacity: 1;
+ }
+
+ .controls {
+ text-align: center;
+ margin-top: 3rem;
+ }
+
+ button {
+ background-color: var(--primary-color);
+ color: white;
+ border: none;
+ padding: 0.8rem 1.5rem;
+ border-radius: 4px;
+ cursor: pointer;
+ font-size: 1rem;
+ transition: background-color 0.3s;
+ }
+
+ button:hover {
+ background-color: var(--secondary-color);
+ }
+
+ footer {
+ text-align: center;
+ padding: 2rem;
+ margin-top: 2rem;
+ background-color: #fff;
+ }
+
+ @media (max-width: 768px) {
+ .milestone-content {
+ width: 150px;
+ font-size: 0.9rem;
+ }
+ }