Loading source
Pulling the file list, source metadata, and syntax-aware rendering for this listing.
Source from repo
Generate TradingView-style dark-theme candlestick charts with RSI, MACD, Bollinger Bands, and EMA/SMA using mplfinance.
Files
Skill
Size
Entrypoint
Format
Open file
Syntax-highlighted preview of this file as included in the skill package.
scripts/base-styles.css
1/* Chart Skill — Base Dark Theme */2* { margin: 0; padding: 0; box-sizing: border-box; }34body {5background: #0f1117;6color: #e1e4ea;7font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;8padding: 20px;9min-height: 100vh;10}1112.toolbar {13display: flex;14justify-content: space-between;15align-items: center;16margin-bottom: 20px;17padding: 0 4px;18}1920.toolbar h1 {21font-size: 1.3rem;22font-weight: 600;23color: #f0f2f5;24}2526.toolbar .subtitle {27font-size: 0.85rem;28color: #6b7280;29margin-top: 2px;30}3132.actions {33display: flex;34gap: 8px;35}3637.actions button {38background: #1e2130;39border: 1px solid #2d3148;40color: #c8cdd6;41padding: 6px 14px;42border-radius: 6px;43cursor: pointer;44font-size: 0.82rem;45transition: all 0.2s;46}4748.actions button:hover {49background: #282d42;50border-color: #5d8fff;51color: #fff;52}5354.actions button:active {55transform: scale(0.97);56}5758.actions .btn-link {59background: #1e2130;60border: 1px solid #2d3148;61color: #c8cdd6;62padding: 6px 14px;63border-radius: 6px;64font-size: 0.82rem;65text-decoration: none;66display: inline-flex;67align-items: center;68}6970.actions .btn-link:hover {71background: #282d42;72border-color: #5d8fff;73color: #fff;74}7576.actions button.success {77background: #1a3a2a;78border-color: #34d399;79color: #34d399;80}8182#chart-area {83background: #1a1d27;84border-radius: 12px;85padding: 20px;86border: 1px solid #2d3148;87}8889/* Grid layouts for multi-chart */90.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }91.grid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 20px; }92.grid-2x2 { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; gap: 20px; }93.full-width { grid-column: 1 / -1; }9495.chart-box {96background: #12141c;97border-radius: 8px;98padding: 12px;99border: 1px solid #1e2236;100}101102.chart-box .chart-title {103font-size: 0.85rem;104color: #9ca3af;105margin-bottom: 8px;106padding-left: 4px;107}108109/* Summary cards (KPIs) */110.kpi-row {111display: flex;112gap: 16px;113margin-bottom: 20px;114}115116.kpi-card {117flex: 1;118background: #1a1d27;119border-radius: 10px;120padding: 16px 20px;121border: 1px solid #2d3148;122}123124.kpi-card .label {125font-size: 0.75rem;126color: #6b7280;127text-transform: uppercase;128letter-spacing: 0.5px;129}130131.kpi-card .value {132font-size: 1.5rem;133font-weight: 700;134color: #f0f2f5;135margin-top: 4px;136}137138.kpi-card .change {139font-size: 0.8rem;140margin-top: 2px;141}142143.kpi-card .change.up { color: #34d399; }144.kpi-card .change.down { color: #ef4444; }145146/* Responsive */147@media (max-width: 768px) {148.grid-2, .grid-3, .grid-2x2 { grid-template-columns: 1fr; }149.kpi-row { flex-direction: column; }150}151152/* Toast notification */153.toast {154position: fixed;155bottom: 24px;156right: 24px;157background: #1e2130;158color: #e1e4ea;159padding: 10px 20px;160border-radius: 8px;161border: 1px solid #2d3148;162font-size: 0.85rem;163opacity: 0;164transform: translateY(10px);165transition: all 0.3s;166z-index: 1000;167pointer-events: none;168}169170.toast.show {171opacity: 1;172transform: translateY(0);173}174