* { margin: 0; padding: 0; box-sizing: border-box; } body, html { position: relative; min-height: 100vh; } /* Dark gradient background matching screenshot */ body, .block-container { background: radial-gradient(circle at 20% 15%, rgba(59, 130, 246, 0.12), transparent 40%), radial-gradient(circle at 80% 25%, rgba(139, 92, 246, 0.1), transparent 45%), radial-gradient(circle at 50% 70%, rgba(16, 185, 129, 0.08), transparent 50%), radial-gradient(circle at 10% 85%, rgba(236, 72, 153, 0.08), transparent 45%), linear-gradient(135deg, #0a0e27 0%, #1a1f3a 25%, #0f1629 50%, #1e2139 75%, #0d1425 100%) !important; background-size: cover; background-attachment: fixed; } /* Grid pattern overlay */ /* body::after { content: ''; position: absolute; z-index: -1; top: 0; left: 0; right: 0; bottom: 0; background-image: repeating-linear-gradient(45deg, transparent, transparent 25px, rgba(174, 246, 59, 0.015) 35px, rgba(93, 205, 18, 0.015) 70px), repeating-linear-gradient(-45deg, transparent, transparent 25px, rgba(139, 92, 246, 0.015) 35px, rgba(139, 92, 246, 0.015) 70px); pointer-events: none; opacity: 0.6; } */ /* Header styling matching screenshot */ .header { padding: 40px 30px; background: radial-gradient(circle at 20% 10%, rgba(255, 255, 255, 0.25), transparent 55%), radial-gradient(circle at 85% 20%, rgba(45, 135, 255, 0.22), transparent 70%), linear-gradient(135deg, #2c3e50, #1e293b, #0f172a); color: white; border-bottom-left-radius: 40px; border-bottom-right-radius: 40px; box-shadow: 0 50px 90px -20px rgba(0, 0, 0, 0.6); display: flex; justify-content: center; align-items: center; width: 100%; margin-bottom: 30px; } .header-logo { flex: unset; display: flex; justify-content: flex-start; width: 100px; } .header h1 { margin: 0; flex: 1; text-align: center; font-size: 2rem; display: flex; justify-content: center; font-weight: 700; letter-spacing: 1px; color: #ffffff; } /* How to Use section */ .how-to-container { padding: 20px 0 40px 0; background: transparent; color: #ffffff; } .how-to-container h3 { font-size: 20px; padding-bottom: 10px; color: #ffffff; } .st-emotion-cache-pk3c77 h3 { color: white; } .how-to-container ul { margin: 0px; flex-wrap: wrap; display: flex; gap: 20px; list-style: none; padding: 0; } .how-to-container li { color: rgba(255, 255, 255, 0.8); line-height: 1.8; } /* Query Container */ .query-container { padding: 0 0 40px 0; } .query-form, .examples-block { background-color: #fff; padding: 20px; border-radius: 20px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); height: 100%; } .query-form h3, .examples-block h3 { background-color: #fff; font-size: 20px; padding-bottom: 15px; margin-bottom: 15px; color: #1e293b; font-weight: 700; } /* Textarea styling */ .query-form textarea { border: 1px solid #e2e8f0 !important; padding: 12px !important; margin-bottom: 20px !important; border-radius: 10px !important; font-size: 14px !important; color: #1e293b !important; background: #f8fafc !important; } .query-form textarea:focus { border-color: #3b82f6 !important; outline: none !important; box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important; } /* Button styling */ button[kind="primary"], .stButton > button[kind="primary"] { background-color: #2c5282 !important; color: white !important; border: none !important; border-radius: 10px !important; padding: 8px 18px !important; font-weight: 600 !important; transition: all 0.3s ease !important; height: 35px !important; font-size: 14px; } button[kind="primary"]:hover { background-color: #1e3a5f !important; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(44, 82, 130, 0.4) !important; font-size: 14px; } button[kind="secondary"], .stButton > button[kind="secondary"] { background-color: transparent !important; color: #2c5282 !important; border: 1px solid #2c5282 !important; border-radius: 10px !important; padding: 12px 24px !important; font-weight: 600 !important; transition: all 0.3s ease !important; height: 35px !important; font-size: 14px; } button[kind="secondary"]:hover { background-color: #2c5282 !important; color: white !important; font-size: 14px; } /* Example buttons */ .examples-block button { background-color: #f8fafc !important; color: #1e293b !important; border: 1px solid #e2e8f0 !important; border-radius: 10px !important; padding: 10px 16px !important; font-size: 14px !important; text-align: left !important; transition: all 0.2s ease !important; margin-bottom: 8px !important; } .examples-block button:hover { background-color: #3b82f6 !important; color: white !important; border-color: #3b82f6 !important; transform: translateX(5px); } /* Results section */ .results-heading h2, .route-heading h3 { color: #fff; font-weight: 700; margin-bottom: 20px; } .results-heading.block { padding-top: 20px; } /* Streamlit overrides */ .stTextArea textarea { background: #f8fafc !important; } .st-emotion-cache-pk3c77 p, .st-emotion-cache-pk3c77 ol, .st-emotion-cache-pk3c77 ul, .st-emotion-cache-pk3c77 dl, .st-emotion-cache-pk3c77 li { font-size: 16px; } .block-container { background:radial-gradient(circle at 20% 10%, rgba(255,255,255,0.25), transparent 55%), radial-gradient(circle at 85% 20%, rgba(45,135,255,0.22), transparent 70%),linear-gradient(135deg, #0e1a2b, #0f1032, #03011a); padding-top: 2rem !important; padding-bottom: 2rem !important; padding-left: 160px !important; padding-right: 160px !important; /* max-width: 1400px !important; */ } /* Download button */ .stDownloadButton button { background-color: #2c5282 !important; color: white !important; border-radius: 10px !important; padding: 12px 24px !important; font-weight: 600 !important; } .stDownloadButton button:hover { background-color: #1e3a5f !important; transform: translateY(-2px); } /* Chart styling */ .stPlotlyChart { background: white; border-radius: 15px; padding: 20px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1); } /* Success/Error messages */ .stSuccess, .stError { border-radius: 10px !important; padding: 12px !important; } /* Spinner */ .stSpinner > div { border-top-color: #78C841 !important; } /* Scrollbar */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: rgba(255, 255, 255, 0.05); } ::-webkit-scrollbar-thumb { background: rgba(59, 130, 246, 0.5); border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: rgba(59, 130, 246, 0.7); } /* Responsive design */ @media (max-width: 768px) { .header h1 { font-size: 1.8em; } .query-form, .examples-block { margin-bottom: 20px; } } /* Animations */ @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .query-form, .examples-block { animation: fadeIn 0.5s ease-out; } /* Text selection */ ::selection { background: rgba(59, 130, 246, 0.3); color: white; } /* Hide Streamlit heading anchor (link) icons */ h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { display: none !important; }