/* Eigenständige historische Ansichten, ohne fremde Grafiken oder Stylesheets. */
@media (min-width: 1025px) {
    .weather-archive .archive-controls select, .weather-archive .archive-controls input, .weather-archive .archive-controls button, .weather-archive .archive-button { min-height: 36px; padding: 6px 10px; }
}
.archive-month-detail .container3 { display: block; width: 100%; }
.archive-month-detail .container3 table { min-width: 1400px; }
.archive-month-detail .container3 table thead tr th {
    background: #193f56;
    color: #fff;
    padding: 10px 9px;
    border-right: 1px solid #698496;
    border-bottom: 1px solid #698496;
    border-radius: 0;
    font-size: 0.9rem;
    font-weight: bold;
}
.archive-month-detail .container3 table thead tr:nth-child(2) th {
    position: static;
    background: #2c526a;
    font-weight: normal;
}
.archive-month-detail .container3 table thead th[rowspan] { z-index: 2; }
.archive-month-detail .container3 tbody tr:nth-child(even) { background: #f4f8fa; }
.archive-month-detail .month-selectors { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 20px 0; }
.archive-month-detail a.but { font-size: 1rem; background: #145b75; color: #fff; border-radius: 5px; }
.archive-month-detail select.but, .archive-month-detail button.but { font-size: 1rem; min-height: 42px; }
.weather-archive { max-width: 1200px; margin: 0 auto; padding: 18px 16px 36px; color: #193247; font-family: Arial, sans-serif; }
.weather-archive h1 { font-size: clamp(1.6rem, 4vw, 2.2rem); margin-bottom: 8px; }
.weather-archive h2 { font-size: 1.25rem; }
.archive-intro, .archive-note { line-height: 1.6; max-width: 85ch; }
.archive-intro { color: #425d70; margin-bottom: 24px; }
.archive-unit { font-size: .9em; font-weight: normal; color: #526879; }
.archive-controls { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; margin: 16px 0 24px; }
.archive-controls form { margin: 0; }
.archive-controls label { display: flex; flex-direction: column; gap: 6px; font-weight: bold; }
.archive-controls select, .archive-controls input, .archive-controls button, .archive-button { min-height: 44px; padding: 9px 12px; font: inherit; border: 1px solid #8fa7b6; border-radius: 5px; background: #fff; color: #193247; box-sizing: border-box; }
.archive-controls button, .archive-button { background: #145b75; color: #fff; border-color: #145b75; text-decoration: none; cursor: pointer; }
.weather-archive a { color: #075b7d; }
.weather-archive a.archive-button { display: inline-flex; align-items: center; color: #fff; }
.weather-archive a.archive-button:hover { background: #10495e; }
.archive-controls a.archive-button { color: #fff; }
.weather-archive :focus-visible { outline: 3px solid #cb7900; outline-offset: 2px; }
.archive-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; margin: 20px 0; }
.archive-summary > div { background: #eef5f8; border: 1px solid #d3e2e9; border-radius: 7px; padding: 18px; }
.archive-summary span, .archive-summary strong, .archive-summary small { display: block; }
.archive-summary strong { font-size: 1.65rem; margin: 8px 0; }
.archive-summary small, .archive-note { color: #465f70; }
.archive-reference-info { margin: 0 0 20px; }
.archive-reference-info summary { display: list-item; width: fit-content; cursor: pointer; padding: 9px 12px; color: #145b75; border: 1px solid #8fa7b6; border-radius: 5px; font-weight: bold; }
.archive-reference-info summary:hover { background: #eef5f8; }
.archive-reference-info[open] { padding: 12px; border: 1px solid #d3e2e9; border-radius: 7px; background: #f4f8fa; }
.archive-reference-info .archive-note { margin-bottom: 0; }
.archive-caption-info { font-weight: normal; }
.archive-metric-note, .archive-extreme-date { display: block; margin-top: 5px; font-size: .8rem; color: #465f70; }
.archive-table-scroll { overflow-x: auto; border: 1px solid #c9d9e2; border-radius: 6px; }
.archive-table-scroll.is-draggable { cursor: grab; }
.archive-table-scroll.is-dragging, .archive-table-scroll.is-dragging * { cursor: grabbing; user-select: none; }
.weather-archive table { border-collapse: separate; border-spacing: 0; width: 100%; font-size: .9rem; margin: 0; }
.weather-archive caption { padding: 12px; text-align: left; font-weight: bold; background: #eef5f8; color: #193247; }
.weather-archive th, .weather-archive td { padding: 9px 8px; border-right: 1px solid #e1e8ec; border-bottom: 1px solid #e1e8ec; text-align: center; white-space: nowrap; }
.weather-archive thead th { background: #193f56; color: #fff; }
.archive-year-table { min-width: 940px; }
.archive-year-table tbody th, .archive-year-table tfoot th { position: sticky; left: 0; background: #eef5f8; z-index: 1; }
.archive-year-table td a { display: block; color: #183345; text-decoration: none; min-width: 40px; padding: 4px 0; }
.archive-year-table td a:hover, .archive-year-table td a:focus-visible { text-decoration: underline; }
.archive-year-table .archive-invalid { background: #f1f3f4; }
.archive-empty { color: #82929b; }
.archive-year-table tfoot td { background: #f1f6f8; font-weight: bold; }
.archive-report-table tbody th { text-align: left; font-weight: normal; white-space: normal; }
.archive-report-table tbody tr:nth-child(even) { background: #f4f8fa; }
.archive-notice { padding: 16px; background: #fff5df; border-left: 4px solid #b77b12; }
.archive-chart-card { margin: 24px 0; padding: 16px; border: 1px solid #d3e2e9; border-radius: 7px; }
.archive-chart-card h2 { margin-top: 0; }
.weather-chart { min-width: 0; }
.weather-chart-method-control { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 14px; font-weight: bold; }
.weather-chart-method { min-height: 44px; max-width: 100%; padding: 8px; border: 1px solid #8fa7b6; border-radius: 5px; background: #fff; color: #193247; font: inherit; }
.weather-chart-canvas { display: none; width: 100%; }
.weather-chart.is-interactive .weather-chart-canvas { display: block; }
.weather-chart.is-interactive .weather-chart-fallback { display: none; }
.solar-event-label { display: inline-flex; align-items: center; gap: 3px; padding: 2px 4px; border: 1px solid #dfc789; border-radius: 4px; background: #fff9e9; color: #60430b; font: 11px Arial, sans-serif; white-space: nowrap; }
.solar-event-label img { width: 17px; height: 17px; }
.weather-chart-sun-note { font-size: 0.85rem; margin-bottom: 0; }
.archive-chart { display: block; width: 100%; height: auto; background: #fff; }
.archive-chart text { font: 16px Arial, sans-serif; fill: #405a6c; }
.archive-chart-grid { fill: none; stroke: #e0e8ee; stroke-width: 1; }
.archive-chart-line { fill: none; stroke: #156b93; stroke-width: 2; vector-effect: non-scaling-stroke; }
.archive-chart-card figcaption { font-size: .85rem; color: #526879; line-height: 1.5; }
@media (max-width: 600px) {
    .weather-archive { padding: 12px 10px 26px; }
    .archive-controls label, .archive-controls form { flex: 1 1 150px; }
    .archive-controls select, .archive-controls input { width: 100%; }
    .archive-chart-card { padding: 10px 4px; }
    .archive-report-table th, .archive-report-table td { padding: 10px 6px; }
}
