/*
 * Flare-up and sleep-pain loop tool component island.
 *
 * These interactive patient tools are shortcode/hub-owned components; keep
 * their layout out of the global Swiss base stylesheet.
 */

.hong-swiss-modern .hong-flare-plan {
	background: var(--hong-white);
	border: 1px solid var(--hong-line);
	display: grid;
	grid-template-columns: minmax(300px, 0.37fr) minmax(0, 0.63fr);
	margin: 72px auto;
	max-width: 1180px;
}

.hong-swiss-modern .hong-flare-plan__intro {
	background: linear-gradient(145deg, #0a0a0a 0%, #103b38 62%, #2d6a5f 100%);
	color: var(--hong-white);
	display: flex;
	flex-direction: column;
	gap: 22px;
	min-width: 0;
	padding: 42px;
}

.hong-swiss-modern .hong-flare-plan__eyebrow {
	color: #72d4c6;
	font-family: var(--hong-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.3;
	margin: 0;
	text-transform: uppercase;
}

.hong-swiss-modern .hong-flare-plan__title {
	color: var(--hong-white);
	font-size: 42px;
	margin: 0;
	max-width: 460px;
	overflow-wrap: anywhere;
}

.hong-swiss-modern .hong-flare-plan__lede,
.hong-swiss-modern .hong-flare-plan__note {
	color: var(--hong-pale);
	font-size: 17px;
	line-height: 1.55;
	margin: 0;
}

.hong-swiss-modern .hong-flare-plan__note {
	border-top: 1px solid rgba(255, 255, 255, 0.22);
	font-size: 14px;
	margin-top: auto;
	padding-top: 22px;
}

.hong-swiss-modern .hong-flare-plan__workspace {
	min-width: 0;
	padding: 34px;
}

.hong-swiss-modern .hong-flare-plan__form {
	display: grid;
	gap: 18px;
}

.hong-swiss-modern .hong-flare-plan__topline,
.hong-swiss-modern .hong-flare-plan__metrics {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hong-swiss-modern .hong-flare-plan__goal {
	display: block;
	margin: 0;
}

.hong-swiss-modern .hong-flare-plan__form span,
.hong-swiss-modern .hong-flare-plan__field legend {
	color: var(--hong-ink);
	display: block;
	font-family: var(--hong-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin-bottom: 9px;
	text-transform: uppercase;
}

.hong-swiss-modern .hong-flare-plan__form select,
.hong-swiss-modern .hong-flare-plan__form input[type="text"] {
	background: var(--hong-paper);
	border: 1px solid var(--hong-line);
	border-radius: 0;
	color: var(--hong-ink);
	font-family: var(--hong-sans);
	font-size: 16px;
	min-height: 48px;
	padding: 12px 14px;
	width: 100%;
}

.hong-swiss-modern .hong-flare-plan__range {
	align-items: center;
	background: var(--hong-paper);
	border: 1px solid var(--hong-line);
	display: grid;
	gap: 14px;
	grid-template-columns: minmax(0, 1fr) 54px;
	min-height: 48px;
	padding: 8px 12px;
}

.hong-swiss-modern .hong-flare-plan__range input {
	accent-color: var(--hong-jade);
	width: 100%;
}

.hong-swiss-modern .hong-flare-plan__range output {
	color: var(--hong-ink);
	font-family: var(--hong-mono);
	font-size: 12px;
	font-weight: 700;
	text-align: right;
}

.hong-swiss-modern .hong-flare-plan__field {
	border: 0;
	margin: 0;
	min-width: 0;
	padding: 0;
}

.hong-swiss-modern .hong-flare-plan__choices {
	display: grid;
	gap: 9px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hong-swiss-modern .hong-flare-plan__choice {
	background: var(--hong-paper);
	border: 1px solid var(--hong-line);
	cursor: pointer;
	display: grid;
	gap: 10px;
	grid-template-columns: 18px minmax(0, 1fr);
	margin: 0;
	min-height: 74px;
	padding: 13px;
}

.hong-swiss-modern .hong-flare-plan__field--warning .hong-flare-plan__choice {
	background: #fff5f2;
	border-color: rgba(204, 37, 24, 0.28);
}

.hong-swiss-modern .hong-flare-plan__choice input {
	accent-color: var(--hong-accent);
	margin-top: 3px;
}

.hong-swiss-modern .hong-flare-plan__choice span {
	color: var(--hong-gray-600);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.32;
	margin: 0;
	text-transform: none;
}

.hong-swiss-modern .hong-flare-plan__choice:has(input:checked) {
	background: var(--hong-white);
	border-color: var(--hong-ink);
	box-shadow: inset 0 0 0 2px var(--hong-ink);
}

.hong-swiss-modern .hong-flare-plan__submit-row {
	align-items: center;
	display: flex;
	gap: 14px;
	justify-content: space-between;
}

.hong-swiss-modern .hong-flare-plan__button,
.hong-swiss-modern .hong-flare-plan__actions button,
.hong-swiss-modern .hong-flare-plan__actions a {
	align-items: center;
	border: 1px solid var(--hong-ink);
	border-radius: 4px;
	cursor: pointer;
	display: inline-flex;
	font-family: var(--hong-mono);
	font-size: 11px;
	font-weight: 700;
	justify-content: center;
	letter-spacing: 0.08em;
	line-height: 1.2;
	min-height: 44px;
	padding: 12px 14px;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
}

.hong-swiss-modern .hong-flare-plan__button {
	background: var(--hong-jade);
	border-color: var(--hong-jade);
	color: var(--hong-white);
	min-height: 48px;
}

.hong-swiss-modern .hong-flare-plan__button:hover,
.hong-swiss-modern .hong-flare-plan__button:focus {
	background: var(--hong-ink);
	border-color: var(--hong-ink);
	color: var(--hong-white);
}

.hong-swiss-modern .hong-flare-plan__status {
	color: var(--hong-gray-600);
	font-family: var(--hong-mono);
	font-size: 12px;
	line-height: 1.4;
	margin: 0;
	text-align: right;
}

.hong-swiss-modern .hong-flare-plan__result {
	border-top: 1px solid var(--hong-line);
	margin-top: 28px;
	padding-top: 28px;
}

.hong-swiss-modern .hong-flare-plan__result[hidden] {
	display: none;
}

.hong-swiss-modern .hong-flare-plan__result-head {
	align-items: start;
	display: flex;
	gap: 20px;
	justify-content: space-between;
	margin-bottom: 22px;
}

.hong-swiss-modern .hong-flare-plan__result-head h3 {
	font-size: 34px;
	margin: 6px 0 8px;
}

.hong-swiss-modern .hong-flare-plan__result-head p {
	color: var(--hong-gray-600);
	font-size: 16px;
	line-height: 1.55;
	margin: 0;
	max-width: 620px;
}

.hong-swiss-modern .hong-flare-plan__result-head strong {
	background: var(--hong-jade);
	color: var(--hong-white);
	font-family: var(--hong-mono);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	padding: 10px 12px;
	text-transform: uppercase;
	white-space: nowrap;
}

.hong-swiss-modern .hong-flare-plan__result[data-tone="urgent"] .hong-flare-plan__result-head strong {
	background: var(--hong-accent);
}

.hong-swiss-modern .hong-flare-plan__result[data-tone="support"] .hong-flare-plan__result-head strong {
	background: #9a5c00;
}

.hong-swiss-modern .hong-flare-plan__cards,
.hong-swiss-modern .hong-flare-plan__track {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hong-swiss-modern .hong-flare-plan__cards section,
.hong-swiss-modern .hong-flare-plan__track section {
	border: 1px solid var(--hong-line);
	padding: 20px;
}

.hong-swiss-modern .hong-flare-plan__track {
	margin-top: 14px;
}

.hong-swiss-modern .hong-flare-plan__cards h3,
.hong-swiss-modern .hong-flare-plan__track h3 {
	font-size: 21px;
	margin: 0 0 14px;
}

.hong-swiss-modern .hong-flare-plan__cards ul,
.hong-swiss-modern .hong-flare-plan__track ul {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
}

.hong-swiss-modern .hong-flare-plan__cards li,
.hong-swiss-modern .hong-flare-plan__track li,
.hong-swiss-modern .hong-flare-plan__track p {
	border-top: 1px solid var(--hong-line);
	color: var(--hong-gray-600);
	font-size: 14px;
	line-height: 1.45;
	list-style: none;
	margin: 0;
	padding-top: 10px;
}

.hong-swiss-modern .hong-flare-plan__summary-panel {
	background: var(--hong-ink);
	color: var(--hong-white);
	margin-top: 22px;
	padding: 24px;
}

.hong-swiss-modern .hong-flare-plan__summary-head {
	align-items: center;
	display: flex;
	gap: 18px;
	justify-content: space-between;
	margin-bottom: 14px;
}

.hong-swiss-modern .hong-flare-plan__summary-head h3 {
	color: var(--hong-white);
	font-size: 24px;
	margin: 0;
}

.hong-swiss-modern .hong-flare-plan__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-end;
}

.hong-swiss-modern .hong-flare-plan__actions button,
.hong-swiss-modern .hong-flare-plan__actions a {
	background: var(--hong-white);
	border-color: rgba(255, 255, 255, 0.32);
	color: var(--hong-ink);
	min-height: 38px;
	padding: 9px 11px;
}

.hong-swiss-modern .hong-flare-plan__actions a {
	background: var(--hong-jade);
	border-color: var(--hong-jade);
	color: var(--hong-white);
}

.hong-swiss-modern .hong-flare-plan__actions button:hover,
.hong-swiss-modern .hong-flare-plan__actions button:focus,
.hong-swiss-modern .hong-flare-plan__actions a:hover,
.hong-swiss-modern .hong-flare-plan__actions a:focus {
	background: var(--hong-accent);
	border-color: var(--hong-accent);
	color: var(--hong-white);
}

.hong-swiss-modern .hong-flare-plan__summary-panel pre {
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.2);
	color: var(--hong-pale);
	font-family: var(--hong-mono);
	font-size: 12px;
	line-height: 1.55;
	margin: 0;
	max-height: 360px;
	overflow: auto;
	overflow-wrap: anywhere;
	padding: 16px;
	white-space: pre-wrap;
}

.hong-swiss-modern .hong-flare-plan__sources {
	border-top: 1px solid var(--hong-line);
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 20px;
	padding-top: 18px;
}

.hong-swiss-modern .hong-flare-plan__sources p {
	color: var(--hong-gray-600);
	flex: 1 0 100%;
	font-family: var(--hong-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	margin: 0;
	text-transform: uppercase;
}

.hong-swiss-modern .hong-flare-plan__sources a {
	border: 1px solid var(--hong-line);
	color: var(--hong-gray-600);
	font-family: var(--hong-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.04em;
	padding: 7px 9px;
	text-decoration: none;
	text-transform: uppercase;
}

.hong-swiss-modern .hong-flare-plan__sources a:hover,
.hong-swiss-modern .hong-flare-plan__sources a:focus {
	background: var(--hong-ink);
	border-color: var(--hong-ink);
	color: var(--hong-white);
}

@media only screen and (max-width: 1199px) {
	.hong-swiss-modern .hong-flare-plan {
		margin-left: 5%;
		margin-right: 5%;
	}

}

@media only screen and (max-width: 1023px) {
	.hong-swiss-modern .hong-flare-plan {
		grid-template-columns: 1fr;
	}

}

@media only screen and (max-width: 767px) {
	.hong-swiss-modern .hong-flare-plan__intro,
.hong-swiss-modern .hong-flare-plan__workspace {
		padding: 28px 22px;
	}

	.hong-swiss-modern .hong-flare-plan__title {
		font-size: 34px;
		max-width: none;
	}

	.hong-swiss-modern .hong-flare-plan__topline,
.hong-swiss-modern .hong-flare-plan__metrics,
.hong-swiss-modern .hong-flare-plan__choices,
.hong-swiss-modern .hong-flare-plan__cards,
.hong-swiss-modern .hong-flare-plan__track {
		grid-template-columns: 1fr;
	}

	.hong-swiss-modern .hong-flare-plan__submit-row,
.hong-swiss-modern .hong-flare-plan__result-head,
.hong-swiss-modern .hong-flare-plan__summary-head {
		align-items: stretch;
		flex-direction: column;
	}

	.hong-swiss-modern .hong-flare-plan__status {
		text-align: left;
	}

	.hong-swiss-modern .hong-flare-plan__actions {
		width: 100%;
	}

	.hong-swiss-modern .hong-flare-plan__button,
.hong-swiss-modern .hong-flare-plan__actions button,
.hong-swiss-modern .hong-flare-plan__actions a {
		width: 100%;
	}

}

@media print {
	body.hong-flare-plan-printing * {
		visibility: hidden !important;
	}

	body.hong-flare-plan-printing .hong-flare-plan__result,
body.hong-flare-plan-printing .hong-flare-plan__result * {
		visibility: visible !important;
	}

	body.hong-flare-plan-printing .hong-flare-plan__result {
		background: #ffffff !important;
		border: 0;
		color: #000000 !important;
		left: 0;
		margin: 0;
		padding: 0;
		position: absolute;
		top: 0;
		width: 100%;
	}

	body.hong-flare-plan-printing .hong-flare-plan__actions,
body.hong-flare-plan-printing .hong-flare-plan__sources {
		display: none !important;
	}

	body.hong-flare-plan-printing .hong-flare-plan__summary-panel,
body.hong-flare-plan-printing .hong-flare-plan__summary-panel h3,
body.hong-flare-plan-printing .hong-flare-plan__summary-panel pre {
		background: #ffffff !important;
		border-color: #cccccc !important;
		color: #000000 !important;
	}

}

.hong-swiss-modern .hong-sleep-loop {
	background: var(--hong-white);
	border: 1px solid var(--hong-line);
	display: grid;
	grid-template-columns: minmax(260px, 0.9fr) minmax(0, 1.7fr);
	margin: 54px auto;
	max-width: 1180px;
}

.hong-swiss-modern .hong-sleep-loop__intro,
.hong-swiss-modern .hong-sleep-loop__workspace {
	padding: 34px;
}

.hong-swiss-modern .hong-sleep-loop__intro {
	background: var(--hong-ink);
	color: var(--hong-pale);
}

.hong-swiss-modern .hong-sleep-loop__eyebrow {
	color: var(--hong-accent);
	font-family: var(--hong-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin: 0 0 18px;
	text-transform: uppercase;
}

.hong-swiss-modern .hong-sleep-loop__title {
	color: var(--hong-white);
	font-size: 48px;
	margin: 0 0 20px;
	max-width: 520px;
}

.hong-swiss-modern .hong-sleep-loop__lede,
.hong-swiss-modern .hong-sleep-loop__note {
	color: rgba(255, 255, 255, 0.78);
	font-size: 16px;
	line-height: 1.55;
	margin: 0;
}

.hong-swiss-modern .hong-sleep-loop__note {
	border-top: 1px solid rgba(255, 255, 255, 0.18);
	font-size: 13px;
	margin-top: 24px;
	padding-top: 18px;
}

.hong-swiss-modern .hong-sleep-loop__workspace {
	display: grid;
	gap: 26px;
}

.hong-swiss-modern .hong-sleep-loop__form {
	background: var(--hong-paper);
	border: 1px solid var(--hong-line);
	display: grid;
	gap: 20px;
	padding: 22px;
}

.hong-swiss-modern .hong-sleep-loop__sliders {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hong-swiss-modern .hong-sleep-loop__sliders label,
.hong-swiss-modern .hong-sleep-loop__goal {
	background: var(--hong-white);
	border: 1px solid var(--hong-line);
	display: grid;
	gap: 10px;
	padding: 16px;
}

.hong-swiss-modern .hong-sleep-loop__sliders label span,
.hong-swiss-modern .hong-sleep-loop__goal span,
.hong-swiss-modern .hong-sleep-loop__field legend {
	color: var(--hong-ink);
	font-family: var(--hong-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.hong-swiss-modern .hong-sleep-loop__range {
	align-items: center;
	display: grid;
	gap: 12px;
	grid-template-columns: 1fr 48px;
}

.hong-swiss-modern .hong-sleep-loop input[type="range"] {
	accent-color: var(--hong-jade);
	width: 100%;
}

.hong-swiss-modern .hong-sleep-loop output {
	color: var(--hong-gray-600);
	font-family: var(--hong-mono);
	font-size: 12px;
	text-align: right;
}

.hong-swiss-modern .hong-sleep-loop__goal input {
	background: var(--hong-white);
	border: 1px solid var(--hong-line);
	color: var(--hong-ink);
	font-size: 15px;
	min-height: 44px;
	padding: 10px 12px;
	width: 100%;
}

.hong-swiss-modern .hong-sleep-loop__field {
	border: 0;
	margin: 0;
	padding: 0;
}

.hong-swiss-modern .hong-sleep-loop__choices {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 10px;
}

.hong-swiss-modern .hong-sleep-loop__choice {
	align-items: center;
	background: var(--hong-white);
	border: 1px solid var(--hong-line);
	cursor: pointer;
	display: grid;
	gap: 8px;
	grid-template-columns: 18px 1fr;
	min-height: 48px;
	padding: 10px;
}

.hong-swiss-modern .hong-sleep-loop__choice input {
	accent-color: var(--hong-jade);
	margin: 0;
}

.hong-swiss-modern .hong-sleep-loop__choice span {
	color: var(--hong-gray-600);
	font-size: 13px;
	line-height: 1.25;
}

.hong-swiss-modern .hong-sleep-loop__submit-row {
	align-items: center;
	display: flex;
	gap: 14px;
	justify-content: space-between;
}

.hong-swiss-modern .hong-sleep-loop__button {
	background: var(--hong-ink);
	border: 1px solid var(--hong-ink);
	color: var(--hong-white);
	cursor: pointer;
	font-family: var(--hong-mono);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	min-height: 44px;
	padding: 12px 16px;
	text-transform: uppercase;
}

.hong-swiss-modern .hong-sleep-loop__button:hover,
.hong-swiss-modern .hong-sleep-loop__button:focus {
	background: var(--hong-accent);
	border-color: var(--hong-accent);
}

.hong-swiss-modern .hong-sleep-loop__status {
	color: var(--hong-gray-600);
	font-family: var(--hong-mono);
	font-size: 11px;
	margin: 0;
	text-align: right;
	text-transform: uppercase;
}

.hong-swiss-modern .hong-sleep-loop__result {
	display: grid;
	gap: 18px;
}

.hong-swiss-modern .hong-sleep-loop__score-panel {
	align-items: stretch;
	background: var(--hong-white);
	border: 1px solid var(--hong-line);
	display: grid;
	gap: 0;
	grid-template-columns: 170px 1fr;
}

.hong-swiss-modern .hong-sleep-loop__score-panel > div {
	padding: 22px;
}

.hong-swiss-modern .hong-sleep-loop__score-panel > div:first-child {
	background: var(--hong-jade);
	color: var(--hong-white);
}

.hong-swiss-modern .hong-sleep-loop__score-panel[data-tone="loaded"] > div:first-child {
	background: var(--hong-accent);
}

.hong-swiss-modern .hong-sleep-loop__score-panel[data-tone="active"] > div:first-child {
	background: #8a650f;
}

.hong-swiss-modern .hong-sleep-loop__score-panel strong {
	color: var(--hong-white);
	display: block;
	font-size: 54px;
	line-height: 0.9;
}

.hong-swiss-modern .hong-sleep-loop__score-panel h3 {
	font-size: 28px;
	margin: 0 0 8px;
}

.hong-swiss-modern .hong-sleep-loop__score-panel p {
	color: var(--hong-gray-600);
	font-size: 14px;
	line-height: 1.45;
	margin: 0;
}

.hong-swiss-modern .hong-sleep-loop__dominant {
	align-items: center;
	border: 1px solid var(--hong-line);
	display: grid;
	gap: 12px;
	grid-template-columns: 190px 1fr;
	padding: 16px 18px;
}

.hong-swiss-modern .hong-sleep-loop__dominant p {
	color: var(--hong-gray-600);
	font-family: var(--hong-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	margin: 0;
	text-transform: uppercase;
}

.hong-swiss-modern .hong-sleep-loop__dominant strong {
	color: var(--hong-ink);
	font-size: 15px;
	line-height: 1.45;
}

.hong-swiss-modern .hong-sleep-loop__map {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.hong-swiss-modern .hong-sleep-loop__node {
	background: var(--hong-white);
	border: 1px solid var(--hong-line);
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-height: 220px;
	padding: 14px;
	position: relative;
}

.hong-swiss-modern .hong-sleep-loop__node::after {
	border-top: 1px solid var(--hong-line);
	content: "";
	left: 14px;
	position: absolute;
	right: 14px;
	top: 68px;
}

.hong-swiss-modern .hong-sleep-loop__node-head {
	align-items: start;
	display: flex;
	gap: 8px;
	justify-content: space-between;
	min-height: 42px;
}

.hong-swiss-modern .hong-sleep-loop__node-head span {
	color: var(--hong-ink);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.1;
}

.hong-swiss-modern .hong-sleep-loop__node-head strong {
	color: var(--hong-accent);
	font-family: var(--hong-mono);
	font-size: 11px;
	white-space: nowrap;
}

.hong-swiss-modern .hong-sleep-loop__node-meter {
	background: var(--hong-pale);
	height: 8px;
	margin-top: 4px;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.hong-swiss-modern .hong-sleep-loop__node-meter span {
	background: var(--hong-jade);
	display: block;
	height: 100%;
	width: calc(var(--node-level) * 1%);
}

.hong-swiss-modern .hong-sleep-loop__node[data-node="sleep"] .hong-sleep-loop__node-meter span,
.hong-swiss-modern .hong-sleep-loop__node[data-node="sensitivity"] .hong-sleep-loop__node-meter span {
	background: var(--hong-accent);
}

.hong-swiss-modern .hong-sleep-loop__node p {
	color: var(--hong-gray-600);
	font-size: 13px;
	line-height: 1.42;
	margin: 0;
}

.hong-swiss-modern .hong-sleep-loop__node small {
	color: var(--hong-ink);
	font-family: var(--hong-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.06em;
	margin-top: auto;
	text-transform: uppercase;
}

.hong-swiss-modern .hong-sleep-loop__node em {
	border-top: 1px solid var(--hong-line);
	color: var(--hong-gray-600);
	font-family: var(--hong-mono);
	font-size: 10px;
	font-style: normal;
	line-height: 1.3;
	padding-top: 8px;
}

.hong-swiss-modern .hong-sleep-loop__reset {
	border: 1px solid var(--hong-line);
	padding: 22px;
}

.hong-swiss-modern .hong-sleep-loop__reset-head h3 {
	font-size: 24px;
	margin: 0 0 18px;
}

.hong-swiss-modern .hong-sleep-loop__reset-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hong-swiss-modern .hong-sleep-loop__reset-grid section {
	background: var(--hong-paper);
	border: 1px solid var(--hong-line);
	padding: 18px;
}

.hong-swiss-modern .hong-sleep-loop__reset-grid h4 {
	font-size: 18px;
	margin: 0 0 12px;
}

.hong-swiss-modern .hong-sleep-loop__reset-grid ul {
	display: grid;
	gap: 9px;
	margin: 0;
	padding: 0;
}

.hong-swiss-modern .hong-sleep-loop__reset-grid li {
	border-top: 1px solid var(--hong-line);
	color: var(--hong-gray-600);
	font-size: 13px;
	line-height: 1.45;
	list-style: none;
	margin: 0;
	padding-top: 9px;
}

.hong-swiss-modern .hong-sleep-loop__summary-panel {
	background: var(--hong-ink);
	color: var(--hong-white);
	padding: 24px;
}

.hong-swiss-modern .hong-sleep-loop__summary-head {
	align-items: center;
	display: flex;
	gap: 18px;
	justify-content: space-between;
	margin-bottom: 14px;
}

.hong-swiss-modern .hong-sleep-loop__summary-head h3 {
	color: var(--hong-white);
	font-size: 24px;
	margin: 0;
}

.hong-swiss-modern .hong-sleep-loop__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: flex-end;
}

.hong-swiss-modern .hong-sleep-loop__actions button,
.hong-swiss-modern .hong-sleep-loop__actions a {
	background: var(--hong-white);
	border: 1px solid rgba(255, 255, 255, 0.32);
	color: var(--hong-ink);
	font-family: var(--hong-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.05em;
	min-height: 38px;
	padding: 9px 11px;
	text-decoration: none;
	text-transform: uppercase;
}

.hong-swiss-modern .hong-sleep-loop__actions a {
	background: var(--hong-jade);
	border-color: var(--hong-jade);
	color: var(--hong-white);
}

.hong-swiss-modern .hong-sleep-loop__actions button:hover,
.hong-swiss-modern .hong-sleep-loop__actions button:focus,
.hong-swiss-modern .hong-sleep-loop__actions a:hover,
.hong-swiss-modern .hong-sleep-loop__actions a:focus {
	background: var(--hong-accent);
	border-color: var(--hong-accent);
	color: var(--hong-white);
}

.hong-swiss-modern .hong-sleep-loop__summary-panel pre {
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.2);
	color: var(--hong-pale);
	font-family: var(--hong-mono);
	font-size: 12px;
	line-height: 1.55;
	margin: 0;
	max-height: 360px;
	overflow: auto;
	overflow-wrap: anywhere;
	padding: 16px;
	white-space: pre-wrap;
}

.hong-swiss-modern .hong-sleep-loop__sources {
	border-top: 1px solid var(--hong-line);
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding-top: 18px;
}

.hong-swiss-modern .hong-sleep-loop__sources p {
	color: var(--hong-gray-600);
	flex: 1 0 100%;
	font-family: var(--hong-mono);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	margin: 0;
	text-transform: uppercase;
}

.hong-swiss-modern .hong-sleep-loop__sources a {
	border: 1px solid var(--hong-line);
	color: var(--hong-gray-600);
	font-family: var(--hong-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.04em;
	padding: 7px 9px;
	text-decoration: none;
	text-transform: uppercase;
}

.hong-swiss-modern .hong-sleep-loop__sources a:hover,
.hong-swiss-modern .hong-sleep-loop__sources a:focus {
	background: var(--hong-ink);
	border-color: var(--hong-ink);
	color: var(--hong-white);
}

@media only screen and (max-width: 1199px) {
	.hong-swiss-modern .hong-sleep-loop {
		margin-left: 5%;
		margin-right: 5%;
	}

	.hong-swiss-modern .hong-sleep-loop__map {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

}

@media only screen and (max-width: 1023px) {
	.hong-swiss-modern .hong-sleep-loop {
		grid-template-columns: 1fr;
	}

}

@media only screen and (max-width: 767px) {
	.hong-swiss-modern .hong-sleep-loop__intro,
.hong-swiss-modern .hong-sleep-loop__workspace {
		padding: 28px 22px;
	}

	.hong-swiss-modern .hong-sleep-loop__title {
		font-size: 34px;
		max-width: none;
	}

	.hong-swiss-modern .hong-sleep-loop__sliders,
.hong-swiss-modern .hong-sleep-loop__choices,
.hong-swiss-modern .hong-sleep-loop__score-panel,
.hong-swiss-modern .hong-sleep-loop__dominant,
.hong-swiss-modern .hong-sleep-loop__map,
.hong-swiss-modern .hong-sleep-loop__reset-grid {
		grid-template-columns: 1fr;
	}

	.hong-swiss-modern .hong-sleep-loop__submit-row,
.hong-swiss-modern .hong-sleep-loop__summary-head {
		align-items: stretch;
		flex-direction: column;
	}

	.hong-swiss-modern .hong-sleep-loop__status {
		text-align: left;
	}

	.hong-swiss-modern .hong-sleep-loop__actions {
		width: 100%;
	}

	.hong-swiss-modern .hong-sleep-loop__button,
.hong-swiss-modern .hong-sleep-loop__actions button,
.hong-swiss-modern .hong-sleep-loop__actions a {
		text-align: center;
		width: 100%;
	}

}

@media print {
	body.hong-sleep-loop-printing * {
		visibility: hidden !important;
	}

	body.hong-sleep-loop-printing .hong-sleep-loop__result,
body.hong-sleep-loop-printing .hong-sleep-loop__result * {
		visibility: visible !important;
	}

	body.hong-sleep-loop-printing .hong-sleep-loop__result {
		background: #ffffff !important;
		border: 0;
		color: #000000 !important;
		left: 0;
		margin: 0;
		padding: 0;
		position: absolute;
		top: 0;
		width: 100%;
	}

	body.hong-sleep-loop-printing .hong-sleep-loop__actions,
body.hong-sleep-loop-printing .hong-sleep-loop__sources {
		display: none !important;
	}

	body.hong-sleep-loop-printing .hong-sleep-loop__summary-panel,
body.hong-sleep-loop-printing .hong-sleep-loop__summary-panel h3,
body.hong-sleep-loop-printing .hong-sleep-loop__summary-panel pre {
		background: #ffffff !important;
		border-color: #cccccc !important;
		color: #000000 !important;
	}

}

.hong-swiss-modern .hong-flare-plan__visual,
.hong-swiss-modern .hong-sleep-loop__visual {
	background: #f7f3ea;
	border: 1px solid rgba(255, 255, 255, 0.22);
	margin: 0;
	overflow: hidden;
}

.hong-swiss-modern .hong-flare-plan__visual,
.hong-swiss-modern .hong-sleep-loop__visual {
	aspect-ratio: 4 / 5;
	margin-top: 4px;
}

.hong-swiss-modern .hong-flare-plan__visual img,
.hong-swiss-modern .hong-sleep-loop__visual img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

body.hong-swiss-modern :is(.hong-flare-plan, .hong-sleep-loop) {
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	max-width: var(--hong-width-visual);
	transform: none;
	width: var(--hong-box-visual);
}

.hong-swiss-modern .hong-patient-tools__active-app .hong-flare-plan,
.hong-swiss-modern .hong-patient-tools__active-app .hong-sleep-loop {
	margin: 0;
	max-width: none;
	width: 100%;
}

@media only screen and (max-width: 767px) {
	.hong-swiss-modern .hong-flare-plan__visual,
.hong-swiss-modern .hong-sleep-loop__visual {
		aspect-ratio: 4 / 5;
	}

}
