69 lines
1.2 KiB
Plaintext
69 lines
1.2 KiB
Plaintext
.trend-chart {
|
|
/* top room so the value labels above tall bars aren't clipped */
|
|
padding-top: 32rpx;
|
|
}
|
|
|
|
.trend-bars {
|
|
display: flex;
|
|
align-items: flex-end;
|
|
height: 220rpx;
|
|
gap: 14rpx;
|
|
}
|
|
|
|
.trend-bar-col {
|
|
flex: 1;
|
|
height: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: flex-end;
|
|
}
|
|
|
|
.trend-bar {
|
|
width: 100%;
|
|
position: relative;
|
|
border-radius: 8rpx 8rpx 0 0;
|
|
background: linear-gradient(180deg, var(--primary), var(--primary-light));
|
|
min-height: 6rpx;
|
|
transition: height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
|
|
}
|
|
|
|
.trend-bar.zero {
|
|
background: var(--border);
|
|
min-height: 4rpx;
|
|
}
|
|
|
|
.trend-bar.highlight {
|
|
box-shadow: 0 0 14rpx rgba(var(--primary-rgb), 0.5);
|
|
}
|
|
|
|
/* value caption floats above the bar so it never eats into bar height */
|
|
.trend-bar-value {
|
|
position: absolute;
|
|
top: -26rpx;
|
|
left: 0;
|
|
right: 0;
|
|
text-align: center;
|
|
font-size: 16rpx;
|
|
color: var(--text-secondary);
|
|
line-height: 1;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.trend-labels {
|
|
display: flex;
|
|
margin-top: 12rpx;
|
|
gap: 14rpx;
|
|
}
|
|
|
|
.trend-bar-label {
|
|
flex: 1;
|
|
text-align: center;
|
|
font-size: 20rpx;
|
|
color: var(--text-secondary);
|
|
}
|
|
|
|
.trend-bar-label.highlight {
|
|
color: var(--primary);
|
|
font-weight: 600;
|
|
}
|