* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body {
    color: #a0c4ff;
    font-family: 'Noto Sans KR', sans-serif;
    margin: 0;
    padding: 0;
}
.wrap {
    margin: 0 auto;
}
.chart-row {
    display: flex;
    flex-direction: row;
    gap: 8px;
}
.chart-cell {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}
.chart-title {
    background: #040b1b;
    border: 1px solid #2a3458;
    border-bottom: none;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    font-size: 12px;
    color: #a0c4ff;
    text-align: center;
    padding: 7px 0;
}
.chart-wrap {
    background: #040b1b;
    border: 1px solid #2a3458;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    padding: 12px;
    height: 200px;
}
.chart-wrap canvas {
    width: 100% !important;
    height: 100% !important;
}
.info-area {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 6px 2px;
    font-size: 10px;
    color: #4a6a8a;
    flex-wrap: wrap;
    justify-content: center; 
}
.legend-line {
    display: inline-block;
    width: 20px;
    height: 2px;
    background: repeating-linear-gradient(
        to right, #e05555 0px, #e05555 5px, transparent 5px, transparent 8px
    );
    vertical-align: middle;
}
.legend-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin-left: 6px;
}
.legend-dot.today { background: rgba(34,197,94,0.9); }
.legend-dot.prev  { background: rgba(68,153,204,0.9); }
.legend-text {
    margin-right: 2px;
}