:root {
    --bg: #ffffff;
    --text: #333333;
    --muted: #666666;
    --grid: #d8dde5;
}

* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
    width: 100%;
    min-height: 100%;
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    background: var(--bg);
    color: var(--text);
}

.chart-shell {
    width: 100%;
    min-height: 430px;
    padding: 4px 4px 2px;
}

.chart-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 4px;
}

.chart-title {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.25;
}

.chart-subtitle {
    margin: 3px 0 0;
    color: var(--muted);
    font-size: 0.82rem;
}

.status {
    flex: 0 0 auto;
    color: var(--muted);
    font-size: 0.75rem;
    text-align: right;
    white-space: nowrap;
}

.error {
    color: #b00020;
    font-weight: 600;
}

/*
 * The canvas is intentionally tall enough to fill the existing embed.
 * The plot height itself is fixed in JavaScript with PANEL_HEIGHT, so
 * increasing the canvas does not stretch the wind-barb plot. Instead,
 * it lets the slider sit at the actual bottom of the embedded panel.
 */
#wind-barb-chart {
    width: 100%;
    height: 370px;
}

@media (max-width: 600px) {
    .chart-shell {
        min-height: 430px;
        padding: 6px 4px 2px;
    }

    .chart-header {
        display: block;
    }

    .status {
        margin-top: 3px;
        text-align: left;
    }

    #wind-barb-chart {
        height: 370px;
    }
}