.sehc-weather {
	--sehc-weather-paper: var(--paper, #f5f0e9);
	--sehc-weather-panel: var(--panel, #eee5da);
	--sehc-weather-panel-bright: var(--panel-bright, #f7f1e9);
	--sehc-weather-ink: var(--ink, #171411);
	--sehc-weather-body: var(--body, #3a332d);
	--sehc-weather-muted: var(--subtle, #6f6459);
	--sehc-weather-accent: var(--taupe, #a67b4f);
	--sehc-weather-accent-hover: var(--accent-hover, #8e6a45);
	--sehc-weather-line: var(--hairline, #dfd4c8);
	--sehc-weather-info: var(--info, #5a6b78);
	--sehc-weather-info-wash: var(--info-wash, #e0e6ea);
	--sehc-weather-focus: var(--ink, #171411);
	--sehc-weather-ease: var(--ease-ui, cubic-bezier(.4, 0, .2, 1));
	--sehc-weather-duration: var(--t-slow, 700ms);
	position: fixed;
	top: clamp(96px, 20vh, 190px);
	right: 0;
	z-index: 999;
	font-family: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
	color: var(--sehc-weather-ink);
	pointer-events: none;
}

.sehc-weather *,
.sehc-weather *::before,
.sehc-weather *::after {
	box-sizing: border-box;
}

.sehc-weather__disclosure {
	position: relative;
	pointer-events: none;
}

.sehc-weather__tab {
	position: absolute;
	top: 34px;
	right: 0;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 48px;
	max-width: 196px;
	padding: 10px 14px;
	border: 1px solid var(--sehc-weather-line);
	border-right: 0;
	border-radius: 9999px 0 0 9999px;
	background: var(--sehc-weather-panel-bright);
	box-shadow: 0 12px 25px rgba(115, 82, 50, .12), inset 0 1px 0 rgba(255, 255, 255, .7);
	color: var(--sehc-weather-ink);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -.01em;
	cursor: pointer;
	pointer-events: auto;
	list-style: none;
	transition: color 300ms var(--sehc-weather-ease), background-color 300ms var(--sehc-weather-ease), opacity 150ms var(--sehc-weather-ease);
}

.sehc-weather__tab::-webkit-details-marker {
	display: none;
}

.sehc-weather__tab:hover {
	background: var(--sehc-weather-panel);
}

.sehc-weather__tab:focus-visible,
.sehc-weather button:focus-visible,
.sehc-weather a:focus-visible {
	outline: 3px solid var(--sehc-weather-focus);
	outline-offset: 3px;
}

.sehc-weather__tab-mark {
	width: 12px;
	height: 12px;
	border: 2px solid currentColor;
	border-radius: 50%;
	box-shadow: -5px -3px 0 -3px var(--sehc-weather-accent);
}

.sehc-weather__tab strong {
	color: var(--sehc-weather-accent-hover);
	font-variant-numeric: tabular-nums;
}

.sehc-weather__panel {
	width: min(360px, calc(100vw - 44px));
	max-height: min(650px, calc(100vh - 128px));
	margin-right: 22px;
	padding: 24px;
	overflow: auto;
	border: 1px solid var(--sehc-weather-line);
	border-radius: 20px;
	background: var(--sehc-weather-panel);
	box-shadow: 0 24px 64px rgba(42, 31, 22, .22), inset 0 1px 0 rgba(255, 255, 255, .65);
	opacity: 0;
	transform: translateX(calc(100% + 44px));
	visibility: hidden;
	pointer-events: none;
	transition: transform var(--sehc-weather-duration) var(--sehc-weather-ease), opacity var(--sehc-weather-duration) var(--sehc-weather-ease), visibility 0s linear var(--sehc-weather-duration);
}

.sehc-weather__disclosure[open] .sehc-weather__panel {
	opacity: 1;
	transform: translateX(0);
	visibility: visible;
	pointer-events: auto;
	transition-delay: 0s;
}

.sehc-weather.is-enhanced .sehc-weather__disclosure[open] .sehc-weather__tab {
	opacity: 0;
	pointer-events: none;
}

.sehc-weather__header,
.sehc-weather__lead,
.sehc-weather__facts > div {
	display: flex;
	align-items: center;
}

.sehc-weather__header {
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 24px;
}

.sehc-weather__actions {
	display: none;
	align-self: flex-start;
	gap: 8px;
}

.sehc-weather.is-enhanced .sehc-weather__actions {
	display: flex;
}

.sehc-weather__eyebrow,
.sehc-weather__title,
.sehc-weather__time,
.sehc-weather__safety,
.sehc-weather__attribution,
.sehc-weather__unavailable {
	margin: 0;
}

.sehc-weather__eyebrow {
	margin-bottom: 4px;
	color: var(--sehc-weather-accent-hover);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.sehc-weather__title {
	font-family: "Newsreader", Georgia, "Times New Roman", serif;
	font-size: 28px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: -.02em;
}

.sehc-weather__close {
	min-height: 36px;
	padding: 8px 10px;
	border: 1px solid var(--sehc-weather-line);
	border-radius: 8px;
	background: var(--sehc-weather-panel-bright);
	color: var(--sehc-weather-body);
	font: inherit;
	font-size: 11px;
	font-weight: 700;
	cursor: pointer;
	transition: border-color 150ms var(--sehc-weather-ease), background-color 150ms var(--sehc-weather-ease);
}

.sehc-weather__lead {
	align-items: baseline;
	gap: 14px;
	margin-bottom: 24px;
}

.sehc-weather__lead strong {
	font-family: "Newsreader", Georgia, "Times New Roman", serif;
	font-size: 56px;
	font-weight: 400;
	font-variant-numeric: tabular-nums;
	line-height: .9;
	letter-spacing: -.04em;
}

.sehc-weather__lead span {
	color: var(--sehc-weather-body);
	font-size: 14px;
	font-weight: 600;
}

.sehc-weather__notice {
	margin: 0 0 20px;
	padding: 10px 12px;
	border-radius: 8px;
	background: var(--sehc-weather-info-wash);
	color: var(--sehc-weather-info);
	font-size: 12px;
	font-weight: 700;
}

.sehc-weather__facts {
	margin: 0;
	border-top: 1px solid var(--sehc-weather-line);
}

.sehc-weather__facts > div {
	justify-content: space-between;
	gap: 20px;
	padding: 12px 0;
	border-bottom: 1px solid var(--sehc-weather-line);
}

.sehc-weather__facts dt,
.sehc-weather__facts dd {
	margin: 0;
	font-size: 13px;
}

.sehc-weather__facts dt {
	color: var(--sehc-weather-muted);
}

.sehc-weather__facts dd {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	text-align: right;
}

.sehc-weather__time {
	margin-top: 14px;
	color: var(--sehc-weather-muted);
	font-size: 11px;
}

.sehc-weather__unavailable {
	margin-bottom: 12px;
	color: var(--sehc-weather-body);
	font-size: 14px;
	line-height: 1.55;
}

.sehc-weather__panel a {
	color: var(--sehc-weather-ink);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.sehc-weather__safety {
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid var(--sehc-weather-line);
	color: var(--sehc-weather-body);
	font-size: 12px;
	line-height: 1.55;
}

.sehc-weather__attribution {
	margin-top: 12px;
	color: var(--sehc-weather-muted);
	font-size: 10px;
	line-height: 1.5;
}

@media (max-width: 759px) {
	.sehc-weather {
		top: auto;
		bottom: 0;
		left: 0;
	}

	.sehc-weather__tab {
		top: auto;
		right: 0;
		bottom: calc(18px + env(safe-area-inset-bottom));
	}

	.sehc-weather__panel {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		width: 100%;
		max-height: min(72dvh, 620px);
		margin: 0;
		padding: 22px 22px calc(22px + env(safe-area-inset-bottom));
		border-right: 0;
		border-bottom: 0;
		border-left: 0;
		border-radius: 20px 20px 0 0;
		transform: translateY(calc(100% + 24px));
	}

	.sehc-weather__disclosure[open] .sehc-weather__panel {
		transform: translateY(0);
	}

	.sehc-weather__header {
		align-items: flex-start;
	}

	.sehc-weather__actions {
		flex-direction: column;
	}

	.sehc-weather__close {
		min-height: 44px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sehc-weather,
	.sehc-weather * {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		transition-delay: 0s !important;
	}
}
