|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.analysis-layout { |
|
|
display: grid; |
|
|
grid-template-columns: 1fr 450px; |
|
|
gap: var(--space-4); |
|
|
margin-top: var(--space-4); |
|
|
} |
|
|
|
|
|
@media (min-width: 1920px) { |
|
|
.analysis-layout { |
|
|
grid-template-columns: 1fr 520px; |
|
|
} |
|
|
} |
|
|
|
|
|
@media (min-width: 2560px) { |
|
|
.analysis-layout { |
|
|
grid-template-columns: 1fr 600px; |
|
|
} |
|
|
} |
|
|
|
|
|
@media (max-width: 1400px) { |
|
|
.analysis-layout { |
|
|
grid-template-columns: 1fr; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.control-panel { |
|
|
display: flex; |
|
|
flex-wrap: wrap; |
|
|
gap: var(--space-4); |
|
|
padding: var(--space-4); |
|
|
background: linear-gradient(135deg, rgba(15, 23, 42, 0.8), rgba(30, 41, 59, 0.6)); |
|
|
border-radius: var(--radius-lg); |
|
|
border: 1px solid rgba(255, 255, 255, 0.1); |
|
|
margin-bottom: var(--space-4); |
|
|
} |
|
|
|
|
|
.control-group { |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
gap: var(--space-2); |
|
|
min-width: 150px; |
|
|
} |
|
|
|
|
|
.control-group label { |
|
|
font-size: var(--font-size-sm); |
|
|
font-weight: var(--font-weight-semibold); |
|
|
color: var(--text-secondary); |
|
|
} |
|
|
|
|
|
.indicators-selector, |
|
|
.patterns-selector { |
|
|
display: flex; |
|
|
flex-wrap: wrap; |
|
|
gap: var(--space-2); |
|
|
} |
|
|
|
|
|
.checkbox-label { |
|
|
display: flex; |
|
|
align-items: center; |
|
|
gap: var(--space-1); |
|
|
font-size: var(--font-size-sm); |
|
|
color: var(--text-secondary); |
|
|
cursor: pointer; |
|
|
padding: var(--space-1) var(--space-2); |
|
|
border-radius: var(--radius-md); |
|
|
transition: all 0.2s ease; |
|
|
} |
|
|
|
|
|
.checkbox-label:hover { |
|
|
background: rgba(255, 255, 255, 0.05); |
|
|
} |
|
|
|
|
|
.checkbox-label input[type="checkbox"] { |
|
|
cursor: pointer; |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.chart-container { |
|
|
background: linear-gradient(135deg, rgba(15, 23, 42, 0.9), rgba(30, 41, 59, 0.7)); |
|
|
border-radius: var(--radius-lg); |
|
|
border: 1px solid rgba(255, 255, 255, 0.1); |
|
|
overflow: hidden; |
|
|
} |
|
|
|
|
|
.chart-header { |
|
|
display: flex; |
|
|
justify-content: space-between; |
|
|
align-items: center; |
|
|
padding: var(--space-3) var(--space-4); |
|
|
background: rgba(0, 0, 0, 0.3); |
|
|
border-bottom: 1px solid rgba(255, 255, 255, 0.1); |
|
|
} |
|
|
|
|
|
.chart-info { |
|
|
display: flex; |
|
|
align-items: center; |
|
|
gap: var(--space-4); |
|
|
} |
|
|
|
|
|
#chart-symbol { |
|
|
font-size: var(--font-size-xl); |
|
|
font-weight: var(--font-weight-bold); |
|
|
color: var(--text-strong); |
|
|
} |
|
|
|
|
|
.price-display { |
|
|
font-size: var(--font-size-lg); |
|
|
font-weight: var(--font-weight-semibold); |
|
|
color: var(--text-strong); |
|
|
} |
|
|
|
|
|
.change-display { |
|
|
font-size: var(--font-size-sm); |
|
|
font-weight: var(--font-weight-semibold); |
|
|
padding: var(--space-1) var(--space-2); |
|
|
border-radius: var(--radius-md); |
|
|
} |
|
|
|
|
|
.change-display.positive { |
|
|
color: #22c55e; |
|
|
background: rgba(34, 197, 94, 0.1); |
|
|
} |
|
|
|
|
|
.change-display.negative { |
|
|
color: #ef4444; |
|
|
background: rgba(239, 68, 68, 0.1); |
|
|
} |
|
|
|
|
|
.chart-controls { |
|
|
display: flex; |
|
|
gap: var(--space-2); |
|
|
} |
|
|
|
|
|
.btn-icon { |
|
|
display: flex; |
|
|
align-items: center; |
|
|
justify-content: center; |
|
|
width: 32px; |
|
|
height: 32px; |
|
|
padding: 0; |
|
|
background: rgba(255, 255, 255, 0.05); |
|
|
border: 1px solid rgba(255, 255, 255, 0.1); |
|
|
border-radius: var(--radius-md); |
|
|
color: var(--text-secondary); |
|
|
cursor: pointer; |
|
|
transition: all 0.2s ease; |
|
|
} |
|
|
|
|
|
.btn-icon:hover { |
|
|
background: rgba(255, 255, 255, 0.1); |
|
|
color: var(--text-strong); |
|
|
} |
|
|
|
|
|
.chart-wrapper { |
|
|
width: 100%; |
|
|
height: 600px; |
|
|
position: relative; |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.analysis-panel { |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
gap: var(--space-4); |
|
|
max-height: calc(100vh - 200px); |
|
|
overflow-y: auto; |
|
|
} |
|
|
|
|
|
.panel-section { |
|
|
background: linear-gradient(135deg, rgba(15, 23, 42, 0.8), rgba(30, 41, 59, 0.6)); |
|
|
border-radius: var(--radius-lg); |
|
|
padding: var(--space-4); |
|
|
border: 1px solid rgba(255, 255, 255, 0.1); |
|
|
} |
|
|
|
|
|
.section-title { |
|
|
display: flex; |
|
|
align-items: center; |
|
|
gap: var(--space-2); |
|
|
font-size: var(--font-size-md); |
|
|
font-weight: var(--font-weight-semibold); |
|
|
color: var(--text-strong); |
|
|
margin: 0 0 var(--space-4); |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.levels-list { |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
gap: var(--space-2); |
|
|
} |
|
|
|
|
|
.level-item { |
|
|
display: flex; |
|
|
align-items: center; |
|
|
gap: var(--space-3); |
|
|
padding: var(--space-3); |
|
|
background: rgba(255, 255, 255, 0.03); |
|
|
border-radius: var(--radius-md); |
|
|
border-left: 4px solid; |
|
|
transition: all 0.2s ease; |
|
|
} |
|
|
|
|
|
.level-item:hover { |
|
|
background: rgba(255, 255, 255, 0.05); |
|
|
transform: translateX(4px); |
|
|
} |
|
|
|
|
|
.level-item.support { |
|
|
border-left-color: #ef4444; |
|
|
} |
|
|
|
|
|
.level-item.resistance { |
|
|
border-left-color: #22c55e; |
|
|
} |
|
|
|
|
|
.level-icon { |
|
|
width: 32px; |
|
|
height: 32px; |
|
|
display: flex; |
|
|
align-items: center; |
|
|
justify-content: center; |
|
|
font-size: var(--font-size-lg); |
|
|
font-weight: var(--font-weight-bold); |
|
|
} |
|
|
|
|
|
.level-details { |
|
|
flex: 1; |
|
|
} |
|
|
|
|
|
.level-type { |
|
|
display: block; |
|
|
font-size: var(--font-size-xs); |
|
|
color: var(--text-muted); |
|
|
text-transform: uppercase; |
|
|
letter-spacing: 0.05em; |
|
|
margin-bottom: var(--space-1); |
|
|
} |
|
|
|
|
|
.level-price { |
|
|
display: block; |
|
|
font-size: var(--font-size-lg); |
|
|
font-weight: var(--font-weight-bold); |
|
|
color: var(--text-strong); |
|
|
} |
|
|
|
|
|
.level-strength { |
|
|
display: block; |
|
|
font-size: var(--font-size-xs); |
|
|
color: var(--text-muted); |
|
|
margin-top: var(--space-1); |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.signals-list { |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
gap: var(--space-2); |
|
|
} |
|
|
|
|
|
.signal-item { |
|
|
display: flex; |
|
|
align-items: center; |
|
|
gap: var(--space-3); |
|
|
padding: var(--space-3); |
|
|
background: rgba(255, 255, 255, 0.03); |
|
|
border-radius: var(--radius-md); |
|
|
border-left: 4px solid; |
|
|
transition: all 0.2s ease; |
|
|
} |
|
|
|
|
|
.signal-item:hover { |
|
|
background: rgba(255, 255, 255, 0.05); |
|
|
} |
|
|
|
|
|
.signal-item.buy { |
|
|
border-left-color: #22c55e; |
|
|
background: rgba(34, 197, 94, 0.05); |
|
|
} |
|
|
|
|
|
.signal-item.sell { |
|
|
border-left-color: #ef4444; |
|
|
background: rgba(239, 68, 68, 0.05); |
|
|
} |
|
|
|
|
|
.signal-icon { |
|
|
font-size: var(--font-size-xl); |
|
|
} |
|
|
|
|
|
.signal-details { |
|
|
flex: 1; |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
gap: var(--space-1); |
|
|
} |
|
|
|
|
|
.signal-type { |
|
|
font-size: var(--font-size-sm); |
|
|
font-weight: var(--font-weight-bold); |
|
|
color: var(--text-strong); |
|
|
} |
|
|
|
|
|
.signal-source { |
|
|
font-size: var(--font-size-xs); |
|
|
color: var(--text-secondary); |
|
|
} |
|
|
|
|
|
.signal-strength { |
|
|
font-size: var(--font-size-xs); |
|
|
color: var(--text-muted); |
|
|
text-transform: uppercase; |
|
|
} |
|
|
|
|
|
.no-signals { |
|
|
padding: var(--space-4); |
|
|
text-align: center; |
|
|
color: var(--text-muted); |
|
|
font-size: var(--font-size-sm); |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.patterns-list { |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
gap: var(--space-2); |
|
|
} |
|
|
|
|
|
.pattern-item { |
|
|
padding: var(--space-3); |
|
|
background: rgba(255, 255, 255, 0.03); |
|
|
border-radius: var(--radius-md); |
|
|
border-left: 4px solid; |
|
|
transition: all 0.2s ease; |
|
|
} |
|
|
|
|
|
.pattern-item:hover { |
|
|
background: rgba(255, 255, 255, 0.05); |
|
|
} |
|
|
|
|
|
.pattern-item.bullish { |
|
|
border-left-color: #22c55e; |
|
|
} |
|
|
|
|
|
.pattern-item.bearish { |
|
|
border-left-color: #ef4444; |
|
|
} |
|
|
|
|
|
.pattern-header { |
|
|
display: flex; |
|
|
justify-content: space-between; |
|
|
align-items: center; |
|
|
margin-bottom: var(--space-2); |
|
|
} |
|
|
|
|
|
.pattern-type { |
|
|
font-size: var(--font-size-sm); |
|
|
font-weight: var(--font-weight-bold); |
|
|
color: var(--text-strong); |
|
|
} |
|
|
|
|
|
.pattern-confidence { |
|
|
font-size: var(--font-size-xs); |
|
|
color: var(--text-muted); |
|
|
background: rgba(255, 255, 255, 0.05); |
|
|
padding: var(--space-1) var(--space-2); |
|
|
border-radius: var(--radius-md); |
|
|
} |
|
|
|
|
|
.pattern-details { |
|
|
font-size: var(--font-size-xs); |
|
|
color: var(--text-secondary); |
|
|
} |
|
|
|
|
|
.no-patterns { |
|
|
padding: var(--space-4); |
|
|
text-align: center; |
|
|
color: var(--text-muted); |
|
|
font-size: var(--font-size-sm); |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.wave-analysis-card { |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
gap: var(--space-3); |
|
|
} |
|
|
|
|
|
.wave-info { |
|
|
display: flex; |
|
|
justify-content: space-between; |
|
|
align-items: center; |
|
|
padding: var(--space-2); |
|
|
background: rgba(255, 255, 255, 0.03); |
|
|
border-radius: var(--radius-md); |
|
|
} |
|
|
|
|
|
.wave-label { |
|
|
font-size: var(--font-size-sm); |
|
|
color: var(--text-muted); |
|
|
} |
|
|
|
|
|
.wave-value { |
|
|
font-size: var(--font-size-sm); |
|
|
font-weight: var(--font-weight-semibold); |
|
|
color: var(--text-strong); |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.trade-recommendations { |
|
|
background: linear-gradient(135deg, rgba(34, 197, 94, 0.1), rgba(15, 23, 42, 0.8)); |
|
|
border: 2px solid rgba(34, 197, 94, 0.3); |
|
|
} |
|
|
|
|
|
.recommendations-list { |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
gap: var(--space-3); |
|
|
} |
|
|
|
|
|
.recommendation-card { |
|
|
padding: var(--space-4); |
|
|
background: rgba(255, 255, 255, 0.05); |
|
|
border-radius: var(--radius-md); |
|
|
border-left: 4px solid; |
|
|
} |
|
|
|
|
|
.recommendation-card.buy { |
|
|
border-left-color: #22c55e; |
|
|
background: rgba(34, 197, 94, 0.1); |
|
|
} |
|
|
|
|
|
.recommendation-card.sell { |
|
|
border-left-color: #ef4444; |
|
|
background: rgba(239, 68, 68, 0.1); |
|
|
} |
|
|
|
|
|
.recommendation-card.hold { |
|
|
border-left-color: #eab308; |
|
|
background: rgba(234, 179, 8, 0.1); |
|
|
} |
|
|
|
|
|
.recommendation-header { |
|
|
display: flex; |
|
|
justify-content: space-between; |
|
|
align-items: center; |
|
|
margin-bottom: var(--space-3); |
|
|
} |
|
|
|
|
|
.recommendation-type { |
|
|
font-size: var(--font-size-xl); |
|
|
font-weight: var(--font-weight-bold); |
|
|
color: var(--text-strong); |
|
|
} |
|
|
|
|
|
.recommendation-confidence { |
|
|
font-size: var(--font-size-sm); |
|
|
color: var(--text-muted); |
|
|
background: rgba(255, 255, 255, 0.1); |
|
|
padding: var(--space-1) var(--space-2); |
|
|
border-radius: var(--radius-md); |
|
|
} |
|
|
|
|
|
.recommendation-levels { |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
gap: var(--space-2); |
|
|
margin-bottom: var(--space-3); |
|
|
} |
|
|
|
|
|
.recommendation-levels .level-item { |
|
|
display: flex; |
|
|
justify-content: space-between; |
|
|
align-items: center; |
|
|
padding: var(--space-2); |
|
|
background: rgba(0, 0, 0, 0.2); |
|
|
border-radius: var(--radius-md); |
|
|
border-left: none; |
|
|
} |
|
|
|
|
|
.recommendation-levels .level-label { |
|
|
font-size: var(--font-size-sm); |
|
|
color: var(--text-muted); |
|
|
} |
|
|
|
|
|
.recommendation-levels .level-value { |
|
|
font-size: var(--font-size-md); |
|
|
font-weight: var(--font-weight-bold); |
|
|
color: var(--text-strong); |
|
|
} |
|
|
|
|
|
.recommendation-signals { |
|
|
display: flex; |
|
|
gap: var(--space-4); |
|
|
font-size: var(--font-size-xs); |
|
|
color: var(--text-muted); |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.mode-selector { |
|
|
margin-bottom: var(--space-4); |
|
|
} |
|
|
|
|
|
.mode-tabs { |
|
|
display: flex; |
|
|
gap: var(--space-2); |
|
|
background: rgba(15, 23, 42, 0.6); |
|
|
padding: var(--space-2); |
|
|
border-radius: var(--radius-lg); |
|
|
border: 1px solid rgba(255, 255, 255, 0.1); |
|
|
overflow-x: auto; |
|
|
} |
|
|
|
|
|
.mode-tab { |
|
|
display: flex; |
|
|
align-items: center; |
|
|
gap: var(--space-2); |
|
|
padding: var(--space-3) var(--space-4); |
|
|
background: rgba(255, 255, 255, 0.05); |
|
|
border: 1px solid rgba(255, 255, 255, 0.1); |
|
|
border-radius: var(--radius-md); |
|
|
color: var(--text-secondary); |
|
|
font-weight: var(--font-weight-semibold); |
|
|
cursor: pointer; |
|
|
transition: all 0.3s ease; |
|
|
white-space: nowrap; |
|
|
} |
|
|
|
|
|
.mode-tab:hover { |
|
|
background: rgba(255, 255, 255, 0.1); |
|
|
color: var(--text-strong); |
|
|
} |
|
|
|
|
|
.mode-tab.active { |
|
|
background: linear-gradient(135deg, rgba(45, 212, 191, 0.2), rgba(59, 130, 246, 0.2)); |
|
|
border-color: rgba(45, 212, 191, 0.5); |
|
|
color: var(--text-strong); |
|
|
box-shadow: 0 4px 12px rgba(45, 212, 191, 0.3); |
|
|
} |
|
|
|
|
|
.mode-tab svg { |
|
|
width: 18px; |
|
|
height: 18px; |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.mode-content { |
|
|
position: relative; |
|
|
} |
|
|
|
|
|
.mode-panel { |
|
|
display: none; |
|
|
animation: fadeInUp 0.3s ease; |
|
|
} |
|
|
|
|
|
.mode-panel.active { |
|
|
display: block; |
|
|
} |
|
|
|
|
|
.mode-controls { |
|
|
display: flex; |
|
|
flex-wrap: wrap; |
|
|
gap: var(--space-3); |
|
|
} |
|
|
|
|
|
.form-range { |
|
|
width: 100%; |
|
|
height: 6px; |
|
|
background: rgba(255, 255, 255, 0.1); |
|
|
border-radius: var(--radius-full); |
|
|
outline: none; |
|
|
-webkit-appearance: none; |
|
|
} |
|
|
|
|
|
.form-range::-webkit-slider-thumb { |
|
|
-webkit-appearance: none; |
|
|
appearance: none; |
|
|
width: 18px; |
|
|
height: 18px; |
|
|
background: linear-gradient(135deg, #2dd4bf, #3b82f6); |
|
|
border-radius: 50%; |
|
|
cursor: pointer; |
|
|
} |
|
|
|
|
|
.form-range::-moz-range-thumb { |
|
|
width: 18px; |
|
|
height: 18px; |
|
|
background: linear-gradient(135deg, #2dd4bf, #3b82f6); |
|
|
border-radius: 50%; |
|
|
cursor: pointer; |
|
|
border: none; |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.analysis-results-grid { |
|
|
display: grid; |
|
|
gap: var(--space-4); |
|
|
} |
|
|
|
|
|
.quick-analysis-card { |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
gap: var(--space-4); |
|
|
} |
|
|
|
|
|
.trend-indicator { |
|
|
display: flex; |
|
|
align-items: center; |
|
|
gap: var(--space-4); |
|
|
padding: var(--space-4); |
|
|
background: rgba(255, 255, 255, 0.03); |
|
|
border-radius: var(--radius-lg); |
|
|
border-left: 4px solid; |
|
|
} |
|
|
|
|
|
.trend-indicator.bullish { |
|
|
border-left-color: #22c55e; |
|
|
background: rgba(34, 197, 94, 0.1); |
|
|
} |
|
|
|
|
|
.trend-indicator.bearish { |
|
|
border-left-color: #ef4444; |
|
|
background: rgba(239, 68, 68, 0.1); |
|
|
} |
|
|
|
|
|
.trend-indicator.sideways { |
|
|
border-left-color: #eab308; |
|
|
background: rgba(234, 179, 8, 0.1); |
|
|
} |
|
|
|
|
|
.trend-icon { |
|
|
font-size: var(--font-size-3xl); |
|
|
} |
|
|
|
|
|
.trend-info { |
|
|
flex: 1; |
|
|
} |
|
|
|
|
|
.trend-label { |
|
|
display: block; |
|
|
font-size: var(--font-size-sm); |
|
|
color: var(--text-muted); |
|
|
margin-bottom: var(--space-1); |
|
|
} |
|
|
|
|
|
.trend-value { |
|
|
display: block; |
|
|
font-size: var(--font-size-2xl); |
|
|
font-weight: var(--font-weight-bold); |
|
|
color: var(--text-strong); |
|
|
} |
|
|
|
|
|
.trading-zones { |
|
|
display: grid; |
|
|
grid-template-columns: repeat(2, 1fr); |
|
|
gap: var(--space-4); |
|
|
} |
|
|
|
|
|
.zone-card { |
|
|
padding: var(--space-4); |
|
|
background: rgba(255, 255, 255, 0.03); |
|
|
border-radius: var(--radius-md); |
|
|
border: 1px solid rgba(255, 255, 255, 0.1); |
|
|
} |
|
|
|
|
|
.zone-card h4 { |
|
|
margin: 0 0 var(--space-3); |
|
|
font-size: var(--font-size-md); |
|
|
color: var(--text-strong); |
|
|
} |
|
|
|
|
|
.zone-range { |
|
|
display: flex; |
|
|
justify-content: space-between; |
|
|
align-items: center; |
|
|
padding: var(--space-2) 0; |
|
|
border-bottom: 1px solid rgba(255, 255, 255, 0.05); |
|
|
} |
|
|
|
|
|
.zone-range:last-child { |
|
|
border-bottom: none; |
|
|
} |
|
|
|
|
|
.zone-label { |
|
|
font-size: var(--font-size-sm); |
|
|
color: var(--text-muted); |
|
|
} |
|
|
|
|
|
.zone-card strong { |
|
|
font-size: var(--font-size-lg); |
|
|
color: var(--text-strong); |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.fundamental-analysis-card { |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
gap: var(--space-4); |
|
|
} |
|
|
|
|
|
.score-display { |
|
|
display: flex; |
|
|
justify-content: center; |
|
|
padding: var(--space-4); |
|
|
} |
|
|
|
|
|
.score-circle { |
|
|
position: relative; |
|
|
width: 150px; |
|
|
height: 150px; |
|
|
border-radius: 50%; |
|
|
background: conic-gradient( |
|
|
from 0deg, |
|
|
#22c55e 0% calc(var(--score)), |
|
|
rgba(255, 255, 255, 0.1) calc(var(--score)) 100% |
|
|
); |
|
|
display: flex; |
|
|
align-items: center; |
|
|
justify-content: center; |
|
|
padding: 8px; |
|
|
} |
|
|
|
|
|
.score-circle::before { |
|
|
content: ''; |
|
|
position: absolute; |
|
|
inset: 8px; |
|
|
border-radius: 50%; |
|
|
background: var(--surface-base); |
|
|
} |
|
|
|
|
|
.score-value { |
|
|
position: relative; |
|
|
z-index: 10; |
|
|
font-size: var(--font-size-3xl); |
|
|
font-weight: var(--font-weight-bold); |
|
|
color: var(--text-strong); |
|
|
} |
|
|
|
|
|
.score-label { |
|
|
position: relative; |
|
|
z-index: 10; |
|
|
font-size: var(--font-size-xs); |
|
|
color: var(--text-muted); |
|
|
text-align: center; |
|
|
} |
|
|
|
|
|
.fundamental-details { |
|
|
display: grid; |
|
|
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); |
|
|
gap: var(--space-3); |
|
|
} |
|
|
|
|
|
.detail-item { |
|
|
display: flex; |
|
|
justify-content: space-between; |
|
|
align-items: center; |
|
|
padding: var(--space-3); |
|
|
background: rgba(255, 255, 255, 0.03); |
|
|
border-radius: var(--radius-md); |
|
|
} |
|
|
|
|
|
.detail-label { |
|
|
font-size: var(--font-size-sm); |
|
|
color: var(--text-muted); |
|
|
} |
|
|
|
|
|
.detail-value { |
|
|
font-size: var(--font-size-md); |
|
|
font-weight: var(--font-weight-semibold); |
|
|
color: var(--text-strong); |
|
|
} |
|
|
|
|
|
.risk-assessment { |
|
|
padding: var(--space-4); |
|
|
background: rgba(239, 68, 68, 0.05); |
|
|
border-radius: var(--radius-md); |
|
|
border-left: 4px solid #ef4444; |
|
|
} |
|
|
|
|
|
.risk-assessment h4 { |
|
|
margin: 0 0 var(--space-2); |
|
|
color: var(--text-strong); |
|
|
} |
|
|
|
|
|
.risk-item { |
|
|
color: var(--text-secondary); |
|
|
line-height: 1.6; |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.onchain-analysis-card { |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
gap: var(--space-4); |
|
|
} |
|
|
|
|
|
.phase-indicator { |
|
|
display: flex; |
|
|
align-items: center; |
|
|
gap: var(--space-4); |
|
|
padding: var(--space-4); |
|
|
background: rgba(255, 255, 255, 0.03); |
|
|
border-radius: var(--radius-lg); |
|
|
border-left: 4px solid; |
|
|
} |
|
|
|
|
|
.phase-indicator.accumulation { |
|
|
border-left-color: #22c55e; |
|
|
background: rgba(34, 197, 94, 0.1); |
|
|
} |
|
|
|
|
|
.phase-indicator.distribution { |
|
|
border-left-color: #ef4444; |
|
|
background: rgba(239, 68, 68, 0.1); |
|
|
} |
|
|
|
|
|
.phase-indicator.neutral { |
|
|
border-left-color: #94a3b8; |
|
|
} |
|
|
|
|
|
.phase-icon { |
|
|
font-size: var(--font-size-3xl); |
|
|
} |
|
|
|
|
|
.phase-info { |
|
|
flex: 1; |
|
|
} |
|
|
|
|
|
.phase-label { |
|
|
display: block; |
|
|
font-size: var(--font-size-sm); |
|
|
color: var(--text-muted); |
|
|
margin-bottom: var(--space-1); |
|
|
} |
|
|
|
|
|
.phase-value { |
|
|
display: block; |
|
|
font-size: var(--font-size-xl); |
|
|
font-weight: var(--font-weight-bold); |
|
|
color: var(--text-strong); |
|
|
} |
|
|
|
|
|
.onchain-metrics { |
|
|
display: grid; |
|
|
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); |
|
|
gap: var(--space-3); |
|
|
} |
|
|
|
|
|
.metric-card { |
|
|
padding: var(--space-3); |
|
|
background: rgba(255, 255, 255, 0.03); |
|
|
border-radius: var(--radius-md); |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
gap: var(--space-2); |
|
|
} |
|
|
|
|
|
.metric-label { |
|
|
font-size: var(--font-size-xs); |
|
|
color: var(--text-muted); |
|
|
text-transform: uppercase; |
|
|
letter-spacing: 0.05em; |
|
|
} |
|
|
|
|
|
.metric-value { |
|
|
font-size: var(--font-size-lg); |
|
|
font-weight: var(--font-weight-bold); |
|
|
color: var(--text-strong); |
|
|
} |
|
|
|
|
|
.metric-value.growing, |
|
|
.metric-value.outflow { |
|
|
color: #22c55e; |
|
|
} |
|
|
|
|
|
.metric-value.declining, |
|
|
.metric-value.inflow { |
|
|
color: #ef4444; |
|
|
} |
|
|
|
|
|
.mvrv-interpretation { |
|
|
font-size: var(--font-size-xs); |
|
|
color: var(--text-muted); |
|
|
font-style: italic; |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.risk-analysis-card { |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
gap: var(--space-4); |
|
|
} |
|
|
|
|
|
.risk-level-indicator { |
|
|
display: flex; |
|
|
align-items: center; |
|
|
gap: var(--space-4); |
|
|
padding: var(--space-4); |
|
|
background: rgba(255, 255, 255, 0.03); |
|
|
border-radius: var(--radius-lg); |
|
|
border-left: 4px solid; |
|
|
} |
|
|
|
|
|
.risk-level-indicator.high { |
|
|
border-left-color: #ef4444; |
|
|
background: rgba(239, 68, 68, 0.1); |
|
|
} |
|
|
|
|
|
.risk-level-indicator.low { |
|
|
border-left-color: #22c55e; |
|
|
background: rgba(34, 197, 94, 0.1); |
|
|
} |
|
|
|
|
|
.risk-level-indicator.medium { |
|
|
border-left-color: #eab308; |
|
|
background: rgba(234, 179, 8, 0.1); |
|
|
} |
|
|
|
|
|
.risk-icon { |
|
|
font-size: var(--font-size-3xl); |
|
|
} |
|
|
|
|
|
.risk-info { |
|
|
flex: 1; |
|
|
} |
|
|
|
|
|
.risk-label { |
|
|
display: block; |
|
|
font-size: var(--font-size-sm); |
|
|
color: var(--text-muted); |
|
|
margin-bottom: var(--space-1); |
|
|
} |
|
|
|
|
|
.risk-value { |
|
|
display: block; |
|
|
font-size: var(--font-size-xl); |
|
|
font-weight: var(--font-weight-bold); |
|
|
color: var(--text-strong); |
|
|
} |
|
|
|
|
|
.risk-metrics { |
|
|
display: grid; |
|
|
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); |
|
|
gap: var(--space-4); |
|
|
} |
|
|
|
|
|
.risk-metrics .metric-card { |
|
|
padding: var(--space-4); |
|
|
} |
|
|
|
|
|
.metric-comparison, |
|
|
.metric-description { |
|
|
font-size: var(--font-size-xs); |
|
|
color: var(--text-muted); |
|
|
font-style: italic; |
|
|
} |
|
|
|
|
|
.risk-justification { |
|
|
padding: var(--space-4); |
|
|
background: rgba(255, 255, 255, 0.03); |
|
|
border-radius: var(--radius-md); |
|
|
border-left: 4px solid rgba(255, 255, 255, 0.2); |
|
|
} |
|
|
|
|
|
.risk-justification h4 { |
|
|
margin: 0 0 var(--space-3); |
|
|
color: var(--text-strong); |
|
|
} |
|
|
|
|
|
.risk-justification p { |
|
|
margin: 0; |
|
|
color: var(--text-secondary); |
|
|
line-height: 1.6; |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.comprehensive-analysis-card { |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
gap: var(--space-4); |
|
|
} |
|
|
|
|
|
.final-recommendation { |
|
|
display: flex; |
|
|
align-items: center; |
|
|
gap: var(--space-4); |
|
|
padding: var(--space-5); |
|
|
background: linear-gradient(135deg, rgba(15, 23, 42, 0.9), rgba(30, 41, 59, 0.7)); |
|
|
border-radius: var(--radius-lg); |
|
|
border: 2px solid; |
|
|
} |
|
|
|
|
|
.final-recommendation.buy { |
|
|
border-color: rgba(34, 197, 94, 0.5); |
|
|
background: linear-gradient(135deg, rgba(34, 197, 94, 0.15), rgba(15, 23, 42, 0.9)); |
|
|
} |
|
|
|
|
|
.final-recommendation.sell { |
|
|
border-color: rgba(239, 68, 68, 0.5); |
|
|
background: linear-gradient(135deg, rgba(239, 68, 68, 0.15), rgba(15, 23, 42, 0.9)); |
|
|
} |
|
|
|
|
|
.final-recommendation.hold { |
|
|
border-color: rgba(234, 179, 8, 0.5); |
|
|
background: linear-gradient(135deg, rgba(234, 179, 8, 0.15), rgba(15, 23, 42, 0.9)); |
|
|
} |
|
|
|
|
|
.recommendation-icon { |
|
|
font-size: var(--font-size-4xl); |
|
|
} |
|
|
|
|
|
.recommendation-info { |
|
|
flex: 1; |
|
|
} |
|
|
|
|
|
.recommendation-label { |
|
|
display: block; |
|
|
font-size: var(--font-size-sm); |
|
|
color: var(--text-muted); |
|
|
text-transform: uppercase; |
|
|
letter-spacing: 0.05em; |
|
|
margin-bottom: var(--space-1); |
|
|
} |
|
|
|
|
|
.recommendation-value { |
|
|
display: block; |
|
|
font-size: var(--font-size-3xl); |
|
|
font-weight: var(--font-weight-bold); |
|
|
color: var(--text-strong); |
|
|
margin-bottom: var(--space-1); |
|
|
} |
|
|
|
|
|
.recommendation-confidence { |
|
|
display: block; |
|
|
font-size: var(--font-size-sm); |
|
|
color: var(--text-muted); |
|
|
} |
|
|
|
|
|
.signals-breakdown { |
|
|
display: grid; |
|
|
grid-template-columns: repeat(2, 1fr); |
|
|
gap: var(--space-4); |
|
|
} |
|
|
|
|
|
.signals-column { |
|
|
padding: var(--space-4); |
|
|
background: rgba(255, 255, 255, 0.03); |
|
|
border-radius: var(--radius-md); |
|
|
border-left: 4px solid; |
|
|
} |
|
|
|
|
|
.signals-column.bullish-signals { |
|
|
border-left-color: #22c55e; |
|
|
} |
|
|
|
|
|
.signals-column.bearish-signals { |
|
|
border-left-color: #ef4444; |
|
|
} |
|
|
|
|
|
.signals-column h4 { |
|
|
margin: 0 0 var(--space-3); |
|
|
color: var(--text-strong); |
|
|
} |
|
|
|
|
|
.signals-column ul { |
|
|
list-style: none; |
|
|
margin: 0; |
|
|
padding: 0; |
|
|
} |
|
|
|
|
|
.signals-column li { |
|
|
padding: var(--space-2) 0; |
|
|
color: var(--text-secondary); |
|
|
border-bottom: 1px solid rgba(255, 255, 255, 0.05); |
|
|
} |
|
|
|
|
|
.signals-column li:last-child { |
|
|
border-bottom: none; |
|
|
} |
|
|
|
|
|
.divergences-alert { |
|
|
padding: var(--space-4); |
|
|
background: rgba(234, 179, 8, 0.1); |
|
|
border-radius: var(--radius-md); |
|
|
border-left: 4px solid #eab308; |
|
|
} |
|
|
|
|
|
.divergences-alert h4 { |
|
|
margin: 0 0 var(--space-2); |
|
|
color: var(--text-strong); |
|
|
} |
|
|
|
|
|
.divergences-alert ul { |
|
|
margin: 0; |
|
|
padding-left: var(--space-4); |
|
|
color: var(--text-secondary); |
|
|
} |
|
|
|
|
|
.divergences-alert li { |
|
|
margin: var(--space-1) 0; |
|
|
} |
|
|
|
|
|
.executive-summary { |
|
|
padding: var(--space-4); |
|
|
background: rgba(255, 255, 255, 0.03); |
|
|
border-radius: var(--radius-md); |
|
|
border-left: 4px solid rgba(45, 212, 191, 0.5); |
|
|
} |
|
|
|
|
|
.executive-summary h4 { |
|
|
margin: 0 0 var(--space-3); |
|
|
color: var(--text-strong); |
|
|
} |
|
|
|
|
|
.summary-text { |
|
|
color: var(--text-secondary); |
|
|
line-height: 1.8; |
|
|
white-space: pre-line; |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@keyframes fadeInUp { |
|
|
from { |
|
|
opacity: 0; |
|
|
transform: translateY(20px); |
|
|
} |
|
|
to { |
|
|
opacity: 1; |
|
|
transform: translateY(0); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.loading-state { |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
align-items: center; |
|
|
justify-content: center; |
|
|
padding: var(--space-10); |
|
|
min-height: 300px; |
|
|
} |
|
|
|
|
|
.loading-spinner { |
|
|
width: 48px; |
|
|
height: 48px; |
|
|
border: 4px solid rgba(255, 255, 255, 0.1); |
|
|
border-top-color: #2dd4bf; |
|
|
border-radius: 50%; |
|
|
animation: rotate 1s linear infinite; |
|
|
margin-bottom: var(--space-4); |
|
|
} |
|
|
|
|
|
.loading-message { |
|
|
color: var(--text-muted); |
|
|
font-size: var(--font-size-sm); |
|
|
margin-top: var(--space-2); |
|
|
} |
|
|
|
|
|
.error-state { |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
align-items: center; |
|
|
justify-content: center; |
|
|
padding: var(--space-10); |
|
|
text-align: center; |
|
|
min-height: 300px; |
|
|
} |
|
|
|
|
|
.error-state svg { |
|
|
width: 64px; |
|
|
height: 64px; |
|
|
color: #ef4444; |
|
|
margin-bottom: var(--space-4); |
|
|
} |
|
|
|
|
|
.error-state h3 { |
|
|
color: var(--text-strong); |
|
|
margin: var(--space-2) 0; |
|
|
} |
|
|
|
|
|
.error-state p { |
|
|
color: var(--text-secondary); |
|
|
margin-bottom: var(--space-4); |
|
|
max-width: 500px; |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.notification { |
|
|
position: fixed; |
|
|
top: 20px; |
|
|
right: 20px; |
|
|
padding: 16px 24px; |
|
|
background: linear-gradient(135deg, rgba(15, 23, 42, 0.95), rgba(30, 41, 59, 0.95)); |
|
|
backdrop-filter: blur(10px); |
|
|
border-radius: var(--radius-lg); |
|
|
border-left: 4px solid; |
|
|
color: var(--text-strong); |
|
|
z-index: 10000; |
|
|
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4); |
|
|
min-width: 300px; |
|
|
max-width: 500px; |
|
|
animation: slideInRight 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); |
|
|
} |
|
|
|
|
|
.notification.success { |
|
|
border-left-color: #22c55e; |
|
|
} |
|
|
|
|
|
.notification.error { |
|
|
border-left-color: #ef4444; |
|
|
} |
|
|
|
|
|
.notification.warning { |
|
|
border-left-color: #eab308; |
|
|
} |
|
|
|
|
|
.notification.info { |
|
|
border-left-color: #3b82f6; |
|
|
} |
|
|
|
|
|
@media (max-width: 768px) { |
|
|
.control-panel { |
|
|
flex-direction: column; |
|
|
} |
|
|
|
|
|
.control-group { |
|
|
width: 100%; |
|
|
} |
|
|
|
|
|
.chart-wrapper { |
|
|
height: 400px; |
|
|
} |
|
|
|
|
|
.analysis-panel { |
|
|
max-height: none; |
|
|
} |
|
|
|
|
|
.mode-tabs { |
|
|
overflow-x: auto; |
|
|
-webkit-overflow-scrolling: touch; |
|
|
} |
|
|
|
|
|
.mode-tab { |
|
|
flex-shrink: 0; |
|
|
} |
|
|
|
|
|
.trading-zones { |
|
|
grid-template-columns: 1fr; |
|
|
} |
|
|
|
|
|
.signals-breakdown { |
|
|
grid-template-columns: 1fr; |
|
|
} |
|
|
|
|
|
.notification { |
|
|
right: 10px; |
|
|
left: 10px; |
|
|
min-width: auto; |
|
|
max-width: none; |
|
|
} |
|
|
} |
|
|
|
|
|
|