Spaces:
Sleeping
Sleeping
| /* === Global Layout === */ | |
| .gradio-container { | |
| font-family: 'Inter', sans-serif; | |
| background-color: #0d1117 ; | |
| } | |
| [data-testid="block-container"] { | |
| max-width: 1180px ; | |
| margin: auto ; | |
| } | |
| /* === Typography === */ | |
| h2, h3, .gr-markdown { | |
| color: #f0f6fc ; | |
| font-weight: 600 ; | |
| } | |
| /* === 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% ; | |
| background: #0d1117 ; | |
| border: 1px solid #30363d ; | |
| border-radius: 6px ; | |
| overflow: hidden ; | |
| } | |
| /* === Remove Gray Placeholder Icons === */ | |
| [data-testid="plot-container"] svg { | |
| display: none ; | |
| } | |
| [data-testid="plot-container"] .wrap { | |
| background: transparent ; | |
| box-shadow: none ; | |
| } | |
| /* === Plot Layout === */ | |
| [data-testid="plot-container"] { | |
| width: 100% ; | |
| margin: 0 auto 16px auto ; | |
| } | |
| [data-testid="plot-container"] canvas { | |
| width: 100% ; | |
| height: auto ; | |
| } | |
| /* === Chart Heights === */ | |
| #root [label="Market Composition"] canvas { height: 360px ; } | |
| #root [label="Top Movers"] canvas, | |
| #root [label="Market Cap vs Volume"] canvas { height: 320px ; } | |
| /* === Sidebar === */ | |
| #ai_summary_sidebar textarea { | |
| height: 360px ; | |
| background-color: #161b22 ; | |
| color: #f0f6fc ; | |
| border: 1px solid #30363d ; | |
| border-radius: 6px ; | |
| font-family: 'JetBrains Mono', monospace ; | |
| font-size: 13.5px ; | |
| line-height: 1.5 ; | |
| padding: 12px ; | |
| resize: none ; | |
| } | |
| /* === Controls === */ | |
| .gr-button { | |
| border-radius: 6px ; | |
| font-weight: 600 ; | |
| letter-spacing: 0.3px; | |
| height: 52px ; | |
| background: linear-gradient(90deg, #4f46e5, #6366f1) ; | |
| border: none ; | |
| 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 ; | |
| } | |
| .gr-slider input[type=range]::-webkit-slider-thumb { | |
| background: #6366f1 ; | |
| } | |
| /* === Table / Row spacing === */ | |
| .gr-dataframe table { | |
| width: 100% ; | |
| color: #c9d1d9 ; | |
| background: #161b22 ; | |
| } | |
| .gr-dataframe th { | |
| background-color: #21262d ; | |
| color: #f0f6fc ; | |
| border-bottom: 1px solid #30363d ; | |
| text-transform: uppercase; | |
| font-weight: 600 ; | |
| } | |
| .gr-dataframe td { | |
| border-top: 1px solid #30363d ; | |
| padding: 8px ; | |
| } | |
| .gr-row { gap: 16px ; } | |