.forecast-timeline .forecast-table-wrapper{overflow-x:auto}.forecast-timeline .forecast-updated-at{margin:var(--space-sm) 0 0;text-align:right;font-size:var(--font-size-sm)}.forecast-timeline .forecast-table{border-collapse:collapse;white-space:nowrap;width:100%}.forecast-timeline .forecast-table th,.forecast-timeline .forecast-table td{border-bottom:1px solid var(--color-border);text-align:center;vertical-align:middle;padding:10px}.forecast-timeline .forecast-table thead{background:var(--color-surface-accent)}.forecast-timeline .forecast-table thead th{line-height:1.3}.forecast-timeline .weather-icon{object-fit:contain;vertical-align:middle;width:32px;height:32px;margin-right:6px}.forecast-timeline .forecast-section-nav{width:100%;max-width:100%;margin-top:var(--space-md);box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-control);display:flex;overflow:hidden}.forecast-timeline .forecast-section-nav a{box-sizing:border-box;min-width:0;color:var(--color-primary);text-align:center;white-space:normal;overflow-wrap:anywhere;flex:1 1 0;justify-content:center;align-items:center;padding:6px 2px;font-size:10px;line-height:1.3;text-decoration:none;display:flex}.forecast-timeline .forecast-section-nav a+a{border-left:1px solid var(--color-border)}.forecast-timeline .forecast-section-nav a[aria-current=page]{background:var(--color-primary);color:var(--color-text-inverse)}.forecast-timeline .forecast-icons{justify-content:center;align-items:center;gap:4px;display:flex}.forecast-timeline .forecast-icons .weather-icon{flex:0 0 28px;width:28px;height:28px;margin:0}.forecast-timeline .forecast-wind{vertical-align:middle;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;display:inline-flex}.forecast-timeline .forecast-wind .wind-indicator{flex-direction:column;gap:0!important}.forecast-timeline .forecast-wind .wind-indicator svg{width:22px;height:22px}.forecast-timeline .forecast-wind .wind-indicator>span,.forecast-timeline .forecast-wind .wind-indicator>small{display:none}.forecast-timeline .forecast-average-wind{text-align:center!important}.forecast-timeline .wave-cell{background:linear-gradient(to right, var(--wave-color) 0, var(--wave-color) var(--wave-fill), var(--color-surface) var(--wave-fill), var(--color-surface) 100%);min-width:80px;text-align:left!important}.forecast-timeline .tide-cell{white-space:nowrap}.forecast-timeline .forecast-tide-link{color:var(--color-link)}.forecast-timeline .wave-direction{vertical-align:middle;width:20px;height:20px;margin-right:4px;display:inline-flex}.forecast-timeline .wave-direction svg{width:100%;height:100%}.forecast-timeline .forecast-day{margin-top:10px}.forecast-timeline .forecast-day-header{align-items:center;gap:0 var(--space-lg);background:var(--color-surface-accent);color:var(--color-text-weekday);flex-wrap:wrap;padding:6px 10px;display:flex}.forecast-timeline .forecast-day-meta{text-align:right;margin-left:auto}.forecast-timeline .forecast-day-header h3{margin:0}.forecast-timeline .forecast-weekday{font-size:.8em}.forecast-timeline .forecast-header-mobile{display:none}.forecast-timeline .forecast-day-header.is-saturday{background:var(--color-surface-saturday);color:var(--color-text-saturday)}.forecast-timeline .forecast-day-header.is-holiday{background:var(--color-surface-holiday);color:var(--color-text-holiday)}.forecast-timeline .sun-times,.forecast-timeline .lunar-age{color:inherit;font-size:var(--font-size-caption);margin:0}.forecast-timeline .forecast-error{padding:var(--space-lg);border:1px solid var(--color-danger);border-radius:var(--radius-panel);background:var(--color-danger-surface);color:var(--color-danger)}@media (width<=480px){.forecast-timeline .forecast-day{font-size:.9rem}.forecast-timeline .forecast-day .sun-times,.forecast-timeline .forecast-day .lunar-age{font-size:var(--font-size-xs)}.forecast-timeline .forecast-day{margin-right:calc(-1 * var(--article-padding));margin-left:calc(-1 * var(--article-padding))}.forecast-timeline .forecast-day-header{padding-right:var(--article-padding);padding-left:var(--article-padding);align-items:flex-start}.forecast-timeline .forecast-day-meta{text-align:left;width:100%;margin-left:0}.forecast-timeline .forecast-day .sun-times{flex-wrap:wrap;gap:0 12px;display:flex}.forecast-timeline .forecast-day .sun-times span{word-break:break-all}.forecast-timeline .forecast-table-wrapper{overflow-x:hidden;container-type:inline-size}.forecast-timeline .forecast-table{font-size:var(--font-size-tag);table-layout:fixed;white-space:normal}.forecast-timeline .forecast-table th,.forecast-timeline .forecast-table td{overflow-wrap:anywhere;padding:4px 1px}.forecast-timeline .forecast-mobile-break{display:initial}.forecast-timeline .forecast-header-desktop{display:none}.forecast-timeline .forecast-header-mobile{display:inline}.forecast-timeline .forecast-table th:first-child,.forecast-timeline .forecast-table td:first-child{padding-left:var(--article-padding)}.forecast-timeline .forecast-table th:last-child,.forecast-timeline .forecast-table td:last-child{padding-right:var(--article-padding)}.forecast-timeline .weather-icon{width:24px;height:24px}.forecast-timeline .forecast-icons .weather-icon{flex-basis:24px;width:24px;height:24px}.forecast-timeline .forecast-table .wind-indicator svg{width:18px;height:18px}.forecast-timeline .wave-cell{min-width:0}.forecast-timeline .forecast-wind-heading{font-size:var(--font-size-xs);white-space:nowrap}.forecast-timeline .forecast-table-waves{--forecast-column-extra:calc((100cqw - 375px) / 7)}.forecast-timeline .forecast-table-waves .forecast-column-time{width:calc(39px + var(--forecast-column-extra))}.forecast-timeline .forecast-table-waves .forecast-column-weather{width:calc(38px + var(--forecast-column-extra))}.forecast-timeline .forecast-table-waves .forecast-column-temperature,.forecast-timeline .forecast-table-waves .forecast-column-precipitation{width:calc(51px + var(--forecast-column-extra))}.forecast-timeline .forecast-table-waves .forecast-column-wind{width:calc(70px + var(--forecast-column-extra))}.forecast-timeline .forecast-table-waves .forecast-column-wave{width:calc(72px + var(--forecast-column-extra))}.forecast-timeline .forecast-table-waves .forecast-column-tide{width:calc(54px + var(--forecast-column-extra))}.forecast-timeline .forecast-table-waves tbody td:nth-child(3),.forecast-timeline .forecast-table-waves tbody td:nth-child(4){white-space:nowrap}.forecast-timeline .forecast-table-waves th,.forecast-timeline .forecast-table-waves td{padding-left:5px;padding-right:5px}.forecast-timeline .forecast-table-waves thead th:first-child{font-size:var(--font-size-xs)}.forecast-timeline .forecast-table-waves .forecast-unit{font-size:10px}.forecast-timeline .forecast-table-waves .wind-indicator{gap:4px!important}.forecast-timeline .forecast-table-waves th:first-child,.forecast-timeline .forecast-table-waves td:first-child{padding-left:10px}.forecast-timeline .forecast-table-waves th:last-child,.forecast-timeline .forecast-table-waves td:last-child{padding-right:2px}.forecast-timeline .forecast-table-waves .weather-icon{margin-right:0}.forecast-timeline .forecast-table-waves .wave-reading{white-space:nowrap;align-items:center;gap:2px;display:inline-flex}.forecast-timeline .forecast-table-waves .wave-cell{text-align:center!important}.forecast-timeline .forecast-table-waves .wave-direction{flex-shrink:0;width:12px;height:18px;margin-right:0}}
