/* === Global Layout === */ .gradio-container { font-family: 'Inter', sans-serif; background-color: #0d1117 !important; } [data-testid="block-container"] { max-width: 1180px !important; margin: auto !important; } /* === Typography === */ h2, h3, .gr-markdown { color: #f0f6fc !important; font-weight: 600 !important; } /* === KPI Panel === */ #kpi_panel { display: flex; justify-content: space-between; align-items: center; margin: 12px 0 4px 0; } .kpi-card { background-color: #161b22; border-radius: 6px; padding: 10px 14px; width: 24%; box-shadow: 0 1px 3px rgba(0,0,0,0.3); display: flex; flex-direction: column; } .kpi-symbol { font-weight: 700; font-size: 15px; color: #f0f6fc; } .kpi-price { font-size: 20px; font-weight: 600; color: #f9fafb; } .kpi-change { font-size: 13px; margin-top: 2px; } /* === Chart Embed (ECharts + Highcharts) === */ [data-testid="html"] { width: 100% !important; background: #0d1117 !important; border: 1px solid #30363d !important; border-radius: 6px !important; overflow: hidden !important; } /* === Remove Gray Placeholder Icons === */ [data-testid="plot-container"] svg { display: none !important; } [data-testid="plot-container"] .wrap { background: transparent !important; box-shadow: none !important; } /* === Plot Layout === */ [data-testid="plot-container"] { width: 100% !important; margin: 0 auto 16px auto !important; } [data-testid="plot-container"] canvas { width: 100% !important; height: auto !important; } /* === Chart Heights === */ #root [label="Market Composition"] canvas { height: 360px !important; } #root [label="Top Movers"] canvas, #root [label="Market Cap vs Volume"] canvas { height: 320px !important; } /* === Sidebar === */ #ai_summary_sidebar textarea { height: 360px !important; background-color: #161b22 !important; color: #f0f6fc !important; border: 1px solid #30363d !important; border-radius: 6px !important; font-family: 'JetBrains Mono', monospace !important; font-size: 13.5px !important; line-height: 1.5 !important; padding: 12px !important; resize: none !important; } /* === Controls === */ .gr-button { border-radius: 6px !important; font-weight: 600 !important; letter-spacing: 0.3px; height: 52px !important; background: linear-gradient(90deg, #4f46e5, #6366f1) !important; border: none !important; box-shadow: 0 2px 4px rgba(0,0,0,0.25); transition: all 0.2s ease-in-out; } .gr-button:hover { filter: brightness(1.08); transform: translateY(-1px); } .gr-slider { height: 52px !important; } .gr-slider input[type=range]::-webkit-slider-thumb { background: #6366f1 !important; } /* === Table / Row spacing === */ .gr-dataframe table { width: 100% !important; color: #c9d1d9 !important; background: #161b22 !important; } .gr-dataframe th { background-color: #21262d !important; color: #f0f6fc !important; border-bottom: 1px solid #30363d !important; text-transform: uppercase; font-weight: 600 !important; } .gr-dataframe td { border-top: 1px solid #30363d !important; padding: 8px !important; } .gr-row { gap: 16px !important; }