/* Base Tailwind-like styles */ :root { --color-gray-900: #111827; --color-gray-800: #1f2937; --color-gray-700: #374151; --color-gray-600: #4B5563; --color-gray-500: #6B7280; --color-gray-400: #9CA3AF; --color-gray-300: #D1D5DB; --color-gray-200: #E5E7EB; --color-gray-100: #F3F4F6; --color-gray-50: #F9FAFB; --color-blue-900: #1E3A8A; --color-blue-800: #1E40AF; --color-blue-700: #1D4ED8; --color-blue-600: #2563EB; --color-blue-500: #3B82F6; --color-blue-400: #60A5FA; --color-blue-300: #93C5FD; --color-blue-200: #BFDBFE; --color-blue-100: #DBEAFE; --color-blue-50: #EFF6FF; --color-yellow-50: #FFFBEB; --color-yellow-100: #FEF3C7; } /* Global Styles */ .stApp { background-color: var(--color-gray-900); color: white; } /* Main header */ .main-header { background-color: black; padding: 1rem; border-bottom: 1px solid var(--color-gray-700); } .title-text { font-size: 1.5rem; font-weight: bold; color: white; } /* Content containers */ .content-container { background-color: var(--color-gray-800); border-radius: 0.75rem; padding: 1.5rem; margin-bottom: 1.5rem; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2); color: white; } .blue-container { background-color: var(--color-blue-100); color: var(--color-gray-900); border-radius: 0.75rem; padding: 1.5rem; margin-bottom: 1.5rem; } .yellow-container { background-color: var(--color-yellow-50); color: var(--color-gray-900); border-radius: 0.75rem; padding: 1.5rem; margin-bottom: 1.5rem; } /* Card grid styles */ .card-grid { display: grid; grid-template-columns: repeat(1, 1fr); gap: 1.5rem; margin-bottom: 1.5rem; } @media (min-width: 768px) { .card-grid { grid-template-columns: repeat(3, 1fr); } } .card { background-color: var(--color-gray-700); border-radius: 0.5rem; padding: 1rem; color: white; } /* Special containers */ .key-concept { background-color: var(--color-gray-700); border-radius: 0.5rem; padding: 0.75rem; margin: 1rem 0; border-left: 3px solid var(--color-blue-500); color: white; } .research-question { background-color: var(--color-blue-900); border-radius: 0.5rem; padding: 0.75rem; margin: 1rem 0; border-left: 3px solid var(--color-blue-400); color: white; } .quote-container { font-style: italic; color: var(--color-gray-300); padding: 0.5rem 1rem; border-left: 3px solid var(--color-gray-600); margin: 1rem 0; } /* Navigation */ .nav-container { position: fixed; bottom: 0; left: 0; width: 100%; background-color: black; border-top: 1px solid var(--color-gray-700); padding: 0.75rem 1rem; display: flex; justify-content: space-between; z-index: 1000; } .nav-buttons { display: flex; gap: 0.5rem; } .prev-button { background-color: var(--color-gray-700); color: white; padding: 0.5rem 1rem; border-radius: 0.25rem; border: none; cursor: pointer; } .prev-button:hover { background-color: var(--color-gray-600); } .next-button { background-color: var(--color-blue-600); color: white; padding: 0.5rem 1rem; border-radius: 0.25rem; border: none; cursor: pointer; } .next-button:hover { background-color: var(--color-blue-700); } .nav-dots { display: none; } @media (min-width: 768px) { .nav-dots { display: flex; gap: 0.25rem; } } .nav-dot { width: 2rem; height: 2rem; display: flex; align-items: center; justify-content: center; color: var(--color-gray-300); border-radius: 0.25rem; text-decoration: none; font-size: 0.875rem; } .nav-dot:hover { background-color: var(--color-gray-800); } .nav-dot.active { background-color: var(--color-blue-800); color: white; font-weight: 500; } /* Override Streamlit Styles */ .stTextInput > div > div > input { background-color: var(--color-gray-700); color: white; } .stSelectbox > div > div > div { background-color: var(--color-gray-700); color: white; } .stCheckbox > div > label { color: white; } /* Button styling */ .stButton > button { background-color: var(--color-blue-600); color: white; } .stButton > button:hover { background-color: var(--color-blue-700); } /* Sidebars */ [data-testid="stSidebar"] { background-color: var(--color-gray-900); } [data-testid="stSidebar"] .stMarkdown { color: white; } /* Module card styles */ .module-card { background-color: var(--color-gray-800); border-radius: 0.5rem; padding: 1rem; margin-bottom: 1rem; border-top: 4px solid var(--color-blue-500); transition: transform 0.2s; } .module-card:hover { transform: translateY(-3px); box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); } .module-number { background-color: var(--color-blue-500); color: white; font-weight: bold; padding: 0.25rem 0.5rem; border-radius: 1rem; font-size: 0.9rem; display: inline-block; margin-bottom: 0.5rem; } .module-title { font-weight: 600; margin-bottom: 0.5rem; font-size: 1.1rem; } /* Add space at bottom for fixed nav */ .main-content { padding-bottom: 4rem; } /* Tool container styles */ .tool-container { background-color: var(--color-gray-800); color: white; padding: 1.5rem; border-radius: 0.5rem; border: 1px solid var(--color-gray-700); margin-bottom: 1.5rem; } /* Upload container */ .upload-container { border: 2px dashed var(--color-gray-600); padding: 1.5rem; text-align: center; border-radius: 0.5rem; margin-bottom: 1rem; background-color: var(--color-gray-700); } /* Footer spacing */ .footer-spacer { height: 4rem; } /* Tabs */ .stTabs [data-baseweb="tab"] { color: white; } .stTabs [data-baseweb="tab-highlight"] { background-color: var(--color-blue-600); }