.survey-v2-page {
	background: #111a24;
}
.survey-v2-section,
.survey-v2-main {
	min-height: calc(100vh - var(--spica-header-height, 72px));
	min-height: 100vh;
	min-height: max-content;
	min-height: 600px;
}
.survey-v2-home {
	position: relative;
	min-height: calc(100vh - var(--spica-header-height, 72px));
	min-height: 100vh;
	overflow: hidden;
	color: #fff;
	background: #17212b;
}
.survey-v2-background,
.survey-v2-background-image,
.survey-v2-background-video,
.survey-v2-overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.survey-v2-background {
	z-index: 0;
}
.survey-v2-background-image {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
.survey-v2-background-video {
	object-fit: cover;
	object-position: center center;
}
.survey-v2-background-mobile {
	display: none;
}
.survey-v2-overlay {
	z-index: 1;
	/* background: linear-gradient(90deg, rgba(9, 18, 27, .82) 0%, rgba(9, 18, 27, .56) 30%, rgba(9, 18, 27, .12) 57%, rgba(9, 18, 27, 0) 76%); */
	pointer-events: none;
}
.survey-v2-container {
	position: relative;
	z-index: 2;
	min-height: calc(100vh - var(--spica-header-height, 72px));
	min-height: 100vh;
}
.survey-v2-row {
	min-height: inherit;
	align-items: flex-start;
}
.survey-v2-content-col {
	padding-top: calc(var(--spica-header-height, 72px) + 62px);
	padding-bottom: 72px;
}
.survey-v2-card {
	width: 100%;
	max-width: 590px;
	padding: 26px 28px 24px;
	/* background: linear-gradient(90deg, rgba(7, 16, 25, .42), rgba(14, 25, 36, .16)); */
	/* -webkit-backdrop-filter: blur(8px); */
	/* backdrop-filter: blur(8px); */
	opacity: 0;
	transform: translateX(-72px);
	transition: opacity .72s ease, transform .9s cubic-bezier(.22, 1, .36, 1);
	will-change: opacity, transform;
}
.survey-v2-card.is-enter {
	opacity: 1;
	transform: translateX(0);
}
.survey-v2-title {
	margin: 0 0 60px;
	font-size: 40px;
	font-weight: 400;
	line-height: 1.2;
	color: #fff;
}
.survey-v2-description {
	max-width: 540px;
	margin-bottom: 30px;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.4;
	letter-spacing: .4px;
	color: #fff;
}
.survey-v2-start-box {
	margin-bottom: 80px;
}
.survey-v2-start-btn {
	min-width: 270px;
	height: 50px;
	padding: 0 36px;
	border: 1px solid rgba(255, 255, 255, .78);
	border-radius: 26px;
	background: rgba(255, 255, 255, .78);
	color: #253244;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: .5px;
	cursor: pointer;
	transition: background .25s ease, border-color .25s ease, color .25s ease;
}
.survey-v2-start-btn:hover {
	background: transparent;
	border-color: #fff;
	color: #fff;
}
.survey-v2-reward-box {
	margin-bottom: 30px;
	max-width: 420px;
}
.survey-v2-reward-slogan {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 15px;
	font-size: 14px;
	font-weight: 300;
	white-space: nowrap;
	color: #fff;
}
.survey-v2-reward-slogan::after {
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background: rgba(255, 255, 255, .62);
}
.survey-v2-reward-list {
	display: flex;
	align-items: stretch;
}
.survey-v2-reward-item {
	position: relative;
	width: 33.3333%;
	min-height: 92px;
	padding: 4px 18px 0;
	text-align: center;
}
.survey-v2-reward-item:first-child {
	padding-left: 0;
}
.survey-v2-reward-item:last-child {
	padding-right: 0;
}
.survey-v2-reward-icon {
	display: block;
	width: 44px;
	height: 44px;
	object-fit: contain;
	margin: 0 auto 8px;
}
.survey-v2-reward-text {
	font-size: 14px;
	font-weight: 300;
	line-height: 1.45;
	letter-spacing: .2px;
	color: #fff;
}
.survey-v2-agree-box {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 0;
	font-size: 14px;
	font-weight: 300;
	color: #fff;
	cursor: pointer;
}
.survey-v2-agree-checkbox {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}
.survey-v2-agree-checkmark {
	position: relative;
	flex: 0 0 17px;
	width: 17px;
	height: 17px;
	border: 1px solid rgba(255, 255, 255, .8);
}
.survey-v2-agree-checkbox:checked + .survey-v2-agree-checkmark::after {
    content: '';
    position: absolute;
    left: 4px;
    top: 0;
    width: 7px;
    height: 11px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(45deg);
}
.survey-v2-agree-text a {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, .7);
}
.survey-v2-agree-wrap {
	font-size: 14px;
	font-weight: 300;
	color: #fff;
}
.survey-v2-agree-row {
	display: flex;
	align-items: center;
	gap: 0px;
}
.survey-v2-agree-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #fff;
	font-size: 17px;
	font-weight: 300;
	line-height: 1;
	cursor: pointer;
}
.survey-v2-agree-description {
	display: none;
	margin-top: 4px;
	margin-left: 23px;
	padding-left: 0;
	font-size: 12px;
	font-weight: 300;
	line-height: 1.6;
	color: #fff;
}
.survey-v2-info-badge {
	position: absolute;
	right: 12px;
	bottom: 60px;
	display: flex;
	align-items: center;
	padding: 9px 22px 9px 15px;
	border: 1px solid rgba(255, 255, 255, .72);
	border-radius: 30px;
	background: rgba(27, 42, 58, .30);
	-webkit-backdrop-filter: blur(7px);
	backdrop-filter: blur(7px);
	opacity: 0;
	transform: translateX(72px);
	transition: opacity .72s ease .12s, transform .9s cubic-bezier(.22, 1, .36, 1) .12s;
	will-change: opacity, transform;
}
.survey-v2-info-badge.is-enter {
	opacity: 1;
	transform: translateX(0);
}
.survey-v2-info-item {
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: 12px;
	font-weight: 300;
	line-height: 1.35;
	white-space: nowrap;
	color: #fff;
}
.survey-v2-info-item svg {
	width: 30px;
	height: 30px;
	fill: none;
	stroke: #d79228;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.survey-v2-info-divider {
	width: 1px;
	height: 29px;
	margin: 0 16px;
	background: rgba(255, 255, 255, .55);
}

@media (max-width: 1399.98px) {
	.survey-v2-content-col {
		padding-top: calc(var(--spica-header-height, 72px) + 44px);
	}
	.survey-v2-card {
		max-width: 540px;
		padding: 22px 24px;
	}
	.survey-v2-title {
		font-size: 36px;
	}
	.survey-v2-description {
		font-size: 15px;
	}
	.survey-v2-start-box {
		margin-bottom: 40px;
	}
}

@media (max-width: 991.98px) {
	.survey-v2-background-pc {
		display: none;
	}
	.survey-v2-background-mobile {
		display: block;
	}
	.survey-v2-background-mobile .survey-v2-background-image {
		background-position: center top;
	}
	.survey-v2-overlay {
		/* background: linear-gradient(180deg, rgba(9, 18, 27, .26) 0%, rgba(9, 18, 27, .56) 42%, rgba(9, 18, 27, .94) 100%); */
	}
	.survey-v2-container,
	.survey-v2-row {
		min-height: calc(100vh - var(--spica-header-height, 56px));
		min-height: 100vh;
	}
	.survey-v2-row {
		align-items: flex-end;
	}
	.survey-v2-content-col {
		padding-top: calc(var(--spica-header-height, 56px) + 40px);
		padding-bottom: 38px;
	}
	.survey-v2-card {
		max-width: 620px;
		padding: 24px;
		/* background: linear-gradient(180deg, rgba(7, 16, 25, .20), rgba(7, 16, 25, .58)); */
	}
	.survey-v2-title {
		font-size: 32px;
	}
	.survey-v2-description {
		font-size: 15px;
	}
	.survey-v2-start-box {
		margin-bottom: 38px;
	}
	.survey-v2-info-badge {
		display: none;
	}
}

@media (max-width: 575.98px) {
	.survey-v2-content-col {
		padding-bottom: 24px;
	}
	.survey-v2-card {
		padding: 20px 28px 18px;
		/* -webkit-backdrop-filter: blur(6px); */
		/* backdrop-filter: blur(6px); */
	}
	.survey-v2-title {
		margin-bottom: 20px;
		font-size: 28px;
		line-height: 1.35;
	}
	.survey-v2-description {
		margin-bottom: 24px;
		font-size: 14px;
		line-height: 1.65;
	}
	.survey-v2-start-btn {
		width: 252px;
		max-width: 100%;
		min-width: 0;
		background: rgba(24, 36, 49, .88);
		border-color: #fff;
		color: #fff;
	}
	.survey-v2-start-btn:hover {
		background: rgba(24, 36, 49, .88);
		border-color: #fff;
		color: #fff;
	}
	.survey-v2-reward-box {
		display: none;
	}
	.survey-v2-agree-wrap {
		font-size: 13px;
	}
	.survey-v2-agree-description {
		font-size: 12px;
	}
	.survey-v2-reward-slogan {
		font-size: 13px;
	}
	.survey-v2-reward-slogan::after {
		width: auto;
		flex: 1 1 auto;
	}
	.survey-v2-reward-item {
		padding: 4px 8px 0;
	}
	.survey-v2-reward-icon {
		width: 38px;
		height: 38px;
	}
	.survey-v2-reward-text {
		font-size: 12px;
	}
	.survey-v2-agree-box {
		font-size: 13px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.survey-v2-card,
	.survey-v2-info-badge {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

.survey-v2-section.question {
	background: url('/assets/front/images/survey/問卷底圖_PC.jpg') center top / cover no-repeat;
}
.survey-v2-question-page {
	position: relative;
	min-height: 100vh;
	min-height: max-content;
	min-height: calc(var(--spica-header-height, 72px) + 64px + 30px);
	padding: calc(var(--spica-header-height, 72px) + 30px) 30px 0;
	color: #17253a;
	background: transparent;
	overflow: hidden;
}
.survey-v2-question-wrap {
	position: relative;
	max-width: 1840px;
	margin: 0 auto;
	padding-top: 64px;
}
.survey-v2-question-stage-stack {
	position: relative;
}
.survey-v2-question-stage {
	position: relative;
	z-index: 2;
	opacity: 0;
	transform: translateY(600px);
	transition: opacity .6s ease, transform 1s cubic-bezier(.22, 1, .36, 1);
}
.survey-v2-question-stage.is-enter {
	opacity: 1;
	transform: translateY(0);
}
.survey-v2-question-stage.is-first-question-loading .survey-v2-question-inner {
	visibility: hidden;
}
.survey-v2-question-stage-snapshot {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	opacity: 1;
	transform: translateY(0);
	transition: none;
	pointer-events: none;
}
.survey-v2-question-stage.is-section-02 .survey-v2-question-tabs {
	left: 228px;
}
.survey-v2-question-stage.is-section-03 .survey-v2-question-tabs {
	left: 408px;
}
.survey-v2-question-stage.is-section-layer-enter {
	opacity: 0;
	transform: translateY(600px);
	transition: none;
}
.survey-v2-question-stage.is-section-layer-enter.is-section-layer-show {
	opacity: 1;
	transform: translateY(0);
	transition: opacity .4s ease, transform 1s cubic-bezier(.22, 1, .36, 1);
}
.survey-v2-question-stage.is-section-layer-leave {
	opacity: 0;
	transform: translateY(600px);
	transition: opacity 1s ease, transform 1.4s cubic-bezier(.22, 1, .36, 1);
}
.survey-v2-question-tabs {
	position: absolute;
	left: 48px;
	top: auto;
	bottom: 100%;
	transform: translateY(1px);
	display: flex;
	align-items: flex-end;
	z-index: 3;
}
.survey-v2-question-tab {
	position: relative;
	width: 180px;
	height: 64px;
	padding: 18px 24px 0;
	border-radius: 18px 18px 0 0;
	background: #fafbfc;
	font-size: 20px;
	font-weight: 700;
	font-style: italic;
	text-align: right;
}
.survey-v2-question-tab::before,
.survey-v2-question-tab::after {
	content: '';
	position: absolute;
	bottom: 0;
	width: 34px;
	height: 34px;
	background: transparent;
}
.survey-v2-question-tab::before {
	right: -34px;
	border-radius: 0 0 0 18px;
	box-shadow: -18px 18px 0 0 #fafbfc;
}
.survey-v2-question-tab::after {
	left: -34px;
	border-radius: 0 0 18px 0;
	box-shadow: 18px 18px 0 0 #fafbfc;
}
.survey-v2-question-label {
    position: absolute;
    right: 34px;
    top: calc(64px - 20px);
    z-index: 3;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: .1px;
    color: #17253a;
    transform: translateY(-50%);
}
.survey-v2-question-panel {
	position: relative;
	min-height: 650px;
	border-radius: 18px 18px 0 0;
	background: #fafbfc;
	min-height: calc(100vh - var(--spica-header-height) - 64px - 30px );
}
.survey-v2-question-stage.is-section-02 .survey-v2-question-tab,
.survey-v2-question-stage.is-section-02 .survey-v2-question-panel {
	background: #e1e4e6;
}
.survey-v2-question-stage.is-section-02 .survey-v2-question-tab::before {
	box-shadow: -18px 18px 0 0 #e1e4e6;
}
.survey-v2-question-stage.is-section-02 .survey-v2-question-tab::after {
	box-shadow: 18px 18px 0 0 #e1e4e6;
}
.survey-v2-question-stage.is-section-03 .survey-v2-question-tab,
.survey-v2-question-stage.is-section-03 .survey-v2-question-panel {
	background: #cfd3d9;
}
.survey-v2-question-stage.is-section-03 .survey-v2-question-tab::before {
	box-shadow: -18px 18px 0 0 #cfd3d9;
}
.survey-v2-question-stage.is-section-03 .survey-v2-question-tab::after {
	box-shadow: 18px 18px 0 0 #cfd3d9;
}
.survey-v2-question-inner {
	max-width: 1180px;
	margin: 0 auto;
	padding: 70px 70px 70px;
}
.survey-v2-question-heading {
	display: flex;
	align-items: center;
	gap: 34px;
}
.survey-v2-question-back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid #24354a;
    border-radius: 50%;
    background: transparent;
    color: #24354a;
    font-size: 22px;
    line-height: 0.6;
    cursor: pointer;
}
.survey-v2-question-section-title {
	margin: -6px 0 0px;
	font-size: 38px;
	font-weight: 600;
	line-height: 1.2;
	color: #17253a;
}
.survey-v2-question-divider {
	height: 1px;
	margin: 30px 0 36px 76px;
	background: #6f7882;
}
.survey-v2-question-content {
	min-height: 325px;
	min-height: 240px;
}
.survey-v2-question-transition {
	opacity: 1;
	transform: translateX(0);
	transition: opacity 1s ease, transform .6s ease;
}
.survey-v2-question-transition.is-leave-next {
	opacity: 0;
	transform: translateX(-100px);
}
.survey-v2-question-transition.is-leave-prev {
	opacity: 0;
	transform: translateX(80px);
}
.survey-v2-question-transition.is-enter-next {
	opacity: 0;
	transform: translateX(100px);
	transition: none;
}
.survey-v2-question-transition.is-enter-prev {
	opacity: 0;
	transform: translateX(-80px);
	transition: none;
}
.survey-v2-question-transition.is-enter-active {
	opacity: 1;
	transform: translateX(0);
	transition: opacity 1s ease, transform .6s ease;
}
.survey-v2-question-item {
	padding-left: 76px;
}
.survey-v2-question-title-row {
	margin-bottom: 26px;
}
.survey-v2-question-title {
	font-size: 24px;
	font-weight: 600;
	line-height: 1.45;
	color: #17253a;
}
.survey-v2-question-type-text {
	margin-left: 12px;
	color: #8b929b;
	font-size: 16px;
	font-weight: 400;
	white-space: nowrap;
}
.survey-v2-answer-area {
	margin-bottom: 60px;
}
.survey-v2-answer-number {
	padding-left: 145px;
}
.survey-v2-number-box {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 40px;
	width: 300px;
	height: 52px;
	padding: 0 28px;
	border-radius: 28px;
	background: #d4d8dd;
}
.survey-v2-number-input {
	width: 105px;
	padding: 0;
	border: 0;
	outline: 0;
	background: transparent;
	color: #17253a;
	font-size: 20px;
	text-align: center;
	-moz-appearance: textfield;
}
.survey-v2-number-input::-webkit-outer-spin-button,
.survey-v2-number-input::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}
.survey-v2-number-unit {
	font-size: 18px;
	white-space: nowrap;
}
.survey-v2-text-input {
	width: 100%;
	max-width: 620px;
	height: 52px;
	padding: 0 24px;
	border: 1px solid #48596b;
	border-radius: 28px;
	outline: 0;
	background: transparent;
	color: #17253a;
	font-size: 18px;
}
.survey-v2-option-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 80px;
	max-width: 900px;
}
.survey-v2-option {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 10px 28px;
	border: 1px solid #43566c;
	border-radius: 30px;
	background: transparent;
	color: #17253a;
	font-size: 18px;
	line-height: 1.35;
	text-align: center;
	cursor: pointer;
	transition: background .2s ease, border-color .2s ease, color .2s ease;
}
.survey-v2-option:hover {
	border-color: transparent;
	background: #d4d8dd;
	color: #17253a;
}
.survey-v2-question-stage.is-section-02 .survey-v2-option:not(.is-selected):hover,
.survey-v2-question-stage.is-section-03 .survey-v2-option:not(.is-selected):hover {
	border-color: transparent;
	background: #fff;
	color: #17253a;
}
.survey-v2-option.is-selected,
.survey-v2-option.is-selected:hover {
	border-color: #3e4c5e;
	background: #3e4c5e;
	color: #fff;
}
.survey-v2-option input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}
.survey-v2-why-ask {
	position: relative;
	max-width: 1000px;
	min-height: 74px;
	padding: 12px 50px;
	color: #465364;
}
.survey-v2-why-ask::before,
.survey-v2-why-ask::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	width: 10px;
	border-top: 1px solid #687686;
	border-bottom: 1px solid #687686;
}
.survey-v2-why-ask::before {
	left: 0;
	border-left: 1px solid #687686;
}
.survey-v2-why-ask::after {
	right: 0;
	border-right: 1px solid #687686;
}
.survey-v2-why-ask-title {
	margin-bottom: 8px;
	font-size: 14px;
	font-weight: 500;
	color: #233349;
}
.survey-v2-why-ask-text {
	font-size: 13px;
	line-height: 1.6;
	color: #68717c;
}
.survey-v2-question-action {
	display: flex;
	justify-content: flex-end;
	margin-top: 40px;
	padding-right: 0;
}
.survey-v2-question-next {
	width: 300px;
	height: 50px;
	border: 1px solid #43566c;
	border-radius: 26px;
	background: transparent;
	color: #17253a;
	font-size: 16px;
	font-weight: 500;
	cursor: pointer;
	transition: background .2s ease, color .2s ease, opacity .2s ease;
}
.survey-v2-question-next:hover:not(:disabled),
.survey-v2-question-next:active:not(:disabled),
.survey-v2-question-next.is-selected:not(:disabled) {
	border-color: #43566c;
	background: #43566c;
	color: #fff;
}
.survey-v2-question-next:disabled {
	opacity: .35;
	cursor: not-allowed;
}
.survey-v2-question-empty {
	padding: 40px 76px;
	font-size: 18px;
}
.survey-v2-progress {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 24px;
	background: #d6dbe0;
	overflow: hidden;
}
.survey-v2-progress-base,
.survey-v2-progress-fill {
	position: absolute;
	inset: 0;
	overflow: hidden;
}
.survey-v2-progress-fill {
	right: auto;
	width: 0;
	background: #465669;
	transition: width .45s ease;
}
.survey-v2-progress-track {
	display: flex;
	align-items: center;
	width: max-content;
	height: 100%;
	color: #6f7883;
	font-size: 12px;
	white-space: nowrap;
	animation: survey-v2-marquee 120s linear infinite;
}
.survey-v2-progress-track-light {
	color: #fff;
}
.survey-v2-marquee-group {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
}
.survey-v2-progress-track span,
.survey-v2-progress-track i {
	font-style: normal;
	white-space: nowrap;
}
@keyframes survey-v2-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(var(--survey-v2-marquee-distance, -50%)); }
}

@media (max-width: 1399.98px) {
	.survey-v2-question-page {
		padding: calc(var(--spica-header-height, 72px) + 24px) 24px 0;
	}
	.survey-v2-question-wrap {
		padding-top: 58px;
	}
	.survey-v2-question-tab {
		width: 160px;
		height: 58px;
	}
	.survey-v2-question-inner {
		max-width: 1080px;
		padding: 60px 60px 80px;
	}
	.survey-v2-question-section-title {
		font-size: 34px;
	}
	.survey-v2-question-title {
		font-size: 22px;
	}
	.survey-v2-question-panel {
		min-height: 610px;
	}
}

@media (max-width: 991.98px) {
	.survey-v2-section.question {
		background-image: url('/assets/front/images/survey/問卷底圖_MB.jpg');
	}
	.survey-v2-question-page {
		padding: calc(var(--spica-header-height, 56px) + 15px) 15px 0;
	}
	.survey-v2-question-wrap {
		padding-top: 48px;
	}
	.survey-v2-question-tabs {
		left: 22px;
	}
	.survey-v2-question-stage.is-section-02 .survey-v2-question-tabs {
		left: 132px;
	}
	.survey-v2-question-stage.is-section-03 .survey-v2-question-tabs {
		left: 242px;
	}
	.survey-v2-question-tab {
		width: 110px;
		height: 48px;
		padding: 12px 16px 0;
		font-size: 16px;
	}
	.survey-v2-question-label {
		right: 18px;
		top: 12px;
		font-size: 13px;
	}
	.survey-v2-question-panel {
		/* min-height: calc(100vh - 110px); */
		border-radius: 14px 14px 0 0;
	}
	.survey-v2-question-inner {
		padding: 40px 40px 70px 30px;
	}
	.survey-v2-question-heading {
		gap: 18px;
	}
	.survey-v2-question-back {
		flex-basis: 38px;
		width: 38px;
		height: 38px;
	}
	.survey-v2-question-section-title {
		font-size: 28px;
	}
	.survey-v2-question-divider {
		margin: 24px 0 28px 56px;
	}
	.survey-v2-question-item {
		padding-left: 56px;
	}
	.survey-v2-question-title {
		font-size: 20px;
	}
	.survey-v2-answer-area {
		margin-bottom: 40px;
	}
	.survey-v2-answer-number {
		padding-left: 0;
	}
	.survey-v2-option-list {
		grid-template-columns: 1fr;
		gap: 14px;
	}
	.survey-v2-why-ask {
		padding: 12px 24px;
	}
	.survey-v2-question-action {
		justify-content: center;
		margin-top: 28px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.survey-v2-question-panel,
	.survey-v2-question-transition {
		opacity: 1;
		transform: none;
		transition: none;
	}
	.survey-v2-progress-track {
		animation: none;
	}
}

.survey-v2-topic-select .survey-v2-question-title-row {
	margin-bottom: 34px;
}
.survey-v2-topic-list {
	display: flex;
	flex-wrap: wrap;
	gap: 18px 24px;
	max-width: 980px;
	margin-bottom: 60px;
}
.survey-v2-topic-option {
	min-width: 150px;
	min-height: 52px;
	padding: 10px 30px;
	border: 1px solid #43566c;
	border-radius: 30px;
	background: transparent;
	color: #17253a;
	font-size: 17px;
	line-height: 1.35;
	text-align: center;
	cursor: pointer;
	transition: background .2s ease, border-color .2s ease, color .2s ease, opacity .2s ease;
}
.survey-v2-topic-option:hover:not(:disabled):not(.is-selected) {
	border-color: transparent;
	background: #d4d8dd;
	color: #17253a;
}
.survey-v2-question-stage.is-section-02 .survey-v2-topic-option:hover:not(:disabled):not(.is-selected),
.survey-v2-question-stage.is-section-03 .survey-v2-topic-option:hover:not(:disabled):not(.is-selected) {
	border-color: transparent;
	background: #fff;
	color: #17253a;
}
.survey-v2-topic-option.is-selected,
.survey-v2-topic-option.is-selected:hover {
	border-color: #3e4c5e;
	background: #3e4c5e;
	color: #fff;
}
.survey-v2-topic-option:disabled:not(.is-selected) {
	opacity: .32;
	cursor: not-allowed;
}

@media (max-width: 991.98px) {
	.survey-v2-topic-list {
		gap: 12px;
		margin-bottom: 42px;
	}
	.survey-v2-topic-option {
		min-width: calc(50% - 6px);
		padding: 10px 18px;
		font-size: 15px;
	}
}

@media (max-width: 575.98px) {
	.survey-v2-question-page {
		padding: calc(var(--spica-header-height, 56px) + 15px) 4px 0;
	}
	.survey-v2-question-wrap {
		padding-top: 40px;
	}
	.survey-v2-question-label {
		display: none;
	}
	.survey-v2-question-tabs {
		left: 28px;
	}
	.survey-v2-question-stage.is-section-02 .survey-v2-question-tabs {
		left: 84px;
	}
	.survey-v2-question-stage.is-section-03 .survey-v2-question-tabs {
		left: 140px;
	}
	.survey-v2-question-tab {
		width: 58px;
		height: 30px;
		padding: 5px 10px 0;
		border-radius: 10px 10px 0 0;
		font-size: 16px;
	}
	.survey-v2-question-tab::before,
	.survey-v2-question-tab::after {
		width: 18px;
		height: 18px;
	}
	.survey-v2-question-tab::before {
		right: -18px;
		border-radius: 0 0 0 10px;
		box-shadow: -9px 9px 0 0 #fafbfc;
	}
	.survey-v2-question-tab::after {
		left: -18px;
		border-radius: 0 0 10px 0;
		box-shadow: 9px 9px 0 0 #fafbfc;
	}
	.survey-v2-question-stage.is-section-02 .survey-v2-question-tab::before {
		box-shadow: -9px 9px 0 0 #e1e4e6;
	}
	.survey-v2-question-stage.is-section-02 .survey-v2-question-tab::after {
		box-shadow: 9px 9px 0 0 #e1e4e6;
	}
	.survey-v2-question-stage.is-section-03 .survey-v2-question-tab::before {
		box-shadow: -9px 9px 0 0 #cfd3d9;
	}
	.survey-v2-question-stage.is-section-03 .survey-v2-question-tab::after {
		box-shadow: 9px 9px 0 0 #cfd3d9;
	}
	.survey-v2-question-panel {
		min-height: 675px;
		border-radius: 12px 12px 0 0;
	}
	.survey-v2-question-inner {
		max-width: none;
		padding: 32px 31px 64px;
	}
	.survey-v2-question-heading {
		gap: 12px;
	}
	.survey-v2-question-back {
		flex-basis: 32px;
		width: 32px;
		height: 32px;
		font-size: 18px;
	}
	.survey-v2-question-section-title {
		margin: -2px 0 0;
		font-size: 24px;
		line-height: 1.25;
	}
	.survey-v2-question-divider {
		margin: 12px 0 28px;
	}
	.survey-v2-question-content {
		min-height: 390px;
	}
	.survey-v2-question-item {
		display: flex;
		flex-direction: column;
		min-height: 390px;
		padding-left: 0;
	}
	.survey-v2-question-title-row {
		margin-bottom: 18px;
	}
	.survey-v2-question-title {
		font-size: 18px;
		line-height: 1.45;
	}
	.survey-v2-answer-area {
		margin-bottom: 24px;
	}
	.survey-v2-answer-number {
		padding-left: 0;
	}
	.survey-v2-number-box {
		width: calc(100% - 24px);
		height: 50px;
		margin: 0 12px;
		padding: 0 24px;
	}
	.survey-v2-number-input {
		font-size: 18px;
	}
	.survey-v2-number-unit {
		font-size: 16px;
	}
	.survey-v2-text-input {
		width: calc(100% - 24px);
		height: 50px;
		margin: 0 12px;
		font-size: 16px;
	}
	.survey-v2-option-list {
		grid-template-columns: 1fr;
		gap: 16px;
		width: calc(100% - 24px);
		max-width: none;
		margin: 0 12px;
	}
	.survey-v2-option {
		min-height: 48px;
		padding: 9px 18px;
		font-size: 16px;
	}
	.survey-v2-why-ask {
		width: 100%;
		max-width: none;
		min-height: 92px;
		margin-top: auto;
		padding: 8px 14px;
	}
	.survey-v2-why-ask-title {
		margin-bottom: 12px;
		font-size: 16px;
	}
	.survey-v2-why-ask-text {
		font-size: 14px;
		line-height: 1.55;
	}
	.survey-v2-question-action {
		justify-content: center;
		margin-top: 40px;
	}
	.survey-v2-question-next {
		width: calc(100% - 24px);
		max-width: 288px;
		height: 52px;
		font-size: 20px;
	}
	.survey-v2-progress {
		height: 28px;
	}
	.survey-v2-progress-track {
		font-size: 12px;
	}
	.survey-v2-topic-select .survey-v2-question-title-row {
		margin-bottom: 18px;
	}
	.survey-v2-topic-list {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px 36px;
		width: 100%;
		max-width: none;
		margin-bottom: 72px;
	}
	.survey-v2-topic-option {
		width: 100%;
		min-width: 0;
		min-height: 48px;
		padding: 8px 10px;
		font-size: 16px;
	}
}

/* (2026-10-16)(allen) 新版結果頁，樣式限於結果頁範圍。 */
.survey-v2-result-page {
	background: #1c2838;
}
.survey-v2-result {
	--survey-result-ink: #253244;
	--survey-result-paper: #e3e5e7;
	color: var(--survey-result-ink);
	padding-top: 0;
	background: #1c2838;
}
.survey-v2-result *,
.survey-v2-result *::before,
.survey-v2-result *::after {
	box-sizing: border-box;
}
.survey-v2-result .survey-v2-result-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	min-height: calc(100vh - var(--spica-header-height, 78px));
}
.survey-v2-result .survey-v2-result-reports {
	grid-column: span 8;
	position: relative;
	display: flex;
	align-items: center;
	min-width: 0;
	background: #1c2838;
	z-index: 1;
}
.survey-v2-result .survey-v2-result-edge {
	position: absolute;
	top: max(48px, calc(var(--spica-header-height, 78px) + 24px));
	right: -39px;
	z-index: 5;
	padding: 22px 10px;
	border-radius: 0 16px 16px 0;
	background: #1c2838;
	color: #e3e5e7;
	writing-mode: vertical-rl;
	font-size: 18px;
	letter-spacing: 4px;
}
.survey-v2-result .survey-v2-result-stack {
	position: relative;
	width: 100%;
	aspect-ratio: 1.23;
	min-height: 660px;
	max-height: 1120px;
	container-type: inline-size;
}
.survey-v2-result .survey-v2-result-card {
	position: absolute;
	width: 56%;
	left: 23%;
	padding: 3.5%;
	border: 1px solid rgba(37, 50, 68, .12);
	border-radius: 18px;
	background: var(--survey-result-paper);
	box-shadow: 0 2px 5px rgba(7, 16, 25, .1);
	font-size: 1.45cqw;
	line-height: 1.7;
}
.survey-v2-result .survey-v2-result-card::-webkit-scrollbar {
	display: none;
}
.survey-v2-result .survey-v2-result-card h2 {
	margin: 0 0 3.5%;
	border-bottom: 1px solid #253244;
	font-size: 2.5cqw;
	font-weight: 500;
	line-height: 1.4;
	/* padding-bottom: 2.5%; */
	padding: 0 2.5% 2.5%;
}
.survey-v2-result .survey-v2-result-card p {
	margin: 0;
	overflow-wrap: anywhere;
	line-height: 1.2;
}
.survey-v2-result .survey-v2-result-advice {
	top: max(10%, calc(var(--spica-header-height, 78px) + 48px));
	transform: rotate(7deg);
	z-index: 1;
}
.survey-v2-result .survey-v2-result-excluded {
	margin-bottom: 9%;
}
.survey-v2-result .survey-v2-result-excluded-item {
	display: flex;
	align-items: center;
	gap: 5%;
	margin-bottom: 4%;
}
.survey-v2-result .survey-v2-result-excluded-icon {
	flex: 0 0 16%;
	text-align: center;
	color: #8c969f;
	border: 1px solid #a8afb6;
	aspect-ratio: 1;
	display: grid;
	place-items: center;
}
.survey-v2-result .survey-v2-result-excluded-label {
	margin-bottom: 2%;
	font-size: 1.55cqw;
}
.survey-v2-result .survey-v2-result-excluded-label span {
	display: inline-block;
	padding: 0px 10px 1px;
	border-radius: 20px;
	background: #d6bac0;
	margin-right: 10px;
}
.survey-v2-result .survey-v2-result-lifestyle-item {
	margin-bottom: 2.4%;
	padding: 0 2.5%;
}
.survey-v2-result .survey-v2-result-lifestyle-item h3 {
	display: inline-block;
	margin: 0 0 1%;
	padding: 0 8px;
	background: #1c2838;
	color: #e3e5e7;
	font-size: 1.4cqw;
	font-weight: 400;
}
.survey-v2-result .survey-v2-result-health {
	top: 13%;
	z-index: 2;
	min-height: 78%;
	padding-bottom: 3%;
}
.survey-v2-result .survey-v2-result-topic-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 12%;
}
.survey-v2-result .survey-v2-result-topic-tab {
	flex: 1 1 25%;
	padding: 7px 5px;
	border: 0;
	border-radius: 30px;
	background: #d0d5dc;
	color: #253244;
	font: inherit;
	font-size: 1.4cqw;
	line-height: 1.5;
	opacity: 1;
	-webkit-text-fill-color: currentColor;
	cursor: pointer;
}
.survey-v2-result .survey-v2-result-topic-tab:not(.is-active):hover {
	background: #f5f6f8;
	color: #253244;
	box-shadow: inset 0 0 0 1px #253244;
}
.survey-v2-result .survey-v2-result-topic-tab.is-active {
	background: #1c2838;
	color: #f5f6f8;
}
.survey-v2-result .survey-v2-result-health-content {
	display: grid;
	grid-template-columns: minmax(0, 1.24fr) minmax(0, 1fr);
	gap: 7%;
	align-items: start;
}
.survey-v2-result .survey-v2-result-analysis {
	padding-top: 10%;
}
.survey-v2-result .survey-v2-result-analysis h3 {
	margin: 0 0 12%;
	font-size: 1.5cqw;
	font-weight: 400;
	margin-left: -16px;
}
.survey-v2-result .survey-v2-result-analysis-type {
	display: inline-block;
	max-width: 100%;
	padding-bottom: 4%;
	margin-bottom: 17%;
	border-bottom: 7px solid #929aa4;
	font-size: 1.75cqw;
	line-height: 1.3;
}
.survey-v2-result .survey-v2-result-analysis p {
	color: #657180;
	font-size: 1.5cqw;
	line-height: 1.7;
}



.survey-v2-result .survey-v2-result-analysis {
	scrollbar-width: auto;
	scrollbar-color: auto;
	padding-right: 12px; /* 文字與捲軸的距離 */
	padding-left: 16px;
}
.survey-v2-result .survey-v2-result-analysis::-webkit-scrollbar {
	width: 6px; /* 捲軸寬度 */
}
.survey-v2-result .survey-v2-result-analysis::-webkit-scrollbar-track {
	background: transparent; /* 軌道底色 */
}
.survey-v2-result .survey-v2-result-analysis::-webkit-scrollbar-thumb {
	background: #929aa4; /* 滑塊顏色 */
	border-radius: 10px;
}
.survey-v2-result .survey-v2-result-analysis::-webkit-scrollbar-thumb:hover {
	background: #657180; /* 滑塊 Hover 顏色 */
}


.survey-v2-result .survey-v2-result-model {
	position: relative;
	width: 100%;
	aspect-ratio: 350 / 650;
}
.survey-v2-result .survey-v2-result-scan {
	position: absolute;
	inset: 7% 0 3%;
	border: 1px solid #a8b8c8;
	border-radius: 8px;
	background: repeating-linear-gradient(0deg, rgba(230, 240, 255, .05) 0 1px, transparent 1px 3px), linear-gradient(135deg, #354e69, #8ea7c7);
}
.survey-v2-result .survey-v2-result-scan::before {
	content: '';
	position: absolute;
	inset: 10px;
	border: 1px solid rgba(255, 255, 255, .7);
	border-radius: 5px;
}
.survey-v2-result .survey-v2-result-scan span {
	position: absolute;
	right: 7%;
	top: 8%;
	writing-mode: vertical-rl;
	letter-spacing: 1px;
	font-size: 1cqw;
}
.survey-v2-result .survey-v2-result-body {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
}
.survey-v2-result .survey-v2-result-hotspot {
	mix-blend-mode: hard-light;
	opacity: 1;
	pointer-events: none;
	filter: blur(4px);
}
.survey-v2-result .survey-v2-result-hotspot.is-active {
	mix-blend-mode: normal;
	animation: survey-v2-hotspot-breathe 2.4s ease-in-out infinite;
}
.survey-v2-result .survey-v2-result-body > image {
	pointer-events: none;
}
.survey-v2-result .survey-v2-result-hotspot-hit {
	cursor: pointer;
}
.survey-v2-result .survey-v2-result-hotspot-hit path {
	fill: transparent;
	stroke: transparent;
	stroke-width: 6px;
	pointer-events: all;
}
.survey-v2-result .survey-v2-result-hotspot-hit:focus,
.survey-v2-result .survey-v2-result-hotspot-hit:focus-visible {
	outline: none;
	box-shadow: none;
}
.survey-v2-result .survey-v2-result-analysis-panel[hidden] {
	display: none;
}
.survey-v2-result .survey-v2-result-analysis-panel:not([hidden]) {
	animation: survey-v2-report-fade-in .25s ease both;
}
.survey-v2-result .survey-v2-result-model-empty {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	color: #fff;
}
.survey-v2-result .survey-v2-result-summary {
	top: 17%;
	left: 20%;
	width: 60%;
	padding: 3% 3% 2%;
	border-radius: 0;
	background: rgba(233, 236, 238, .85);
	-webkit-backdrop-filter: blur(9px);
	backdrop-filter: blur(9px);
	transform: rotate(-5deg);
	z-index: 3;
}
.survey-v2-result .survey-v2-result-date {
	margin-bottom: 3%;
	text-align: right;
	font-size: 1.45cqw;
	line-height: 1.2;
}
.survey-v2-result .survey-v2-result-summary-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	gap: 8%;
}
.survey-v2-result .survey-v2-result-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 3px 8px;
	min-height: 24px;
	font-size: 1.25cqw;
	color: #657180;
	line-height: 1.4;
}
.survey-v2-result .survey-v2-result-legend span {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.survey-v2-result .survey-v2-result-legend i {
	width: .9cqw;
	height: .9cqw;
	flex-shrink: 0;
	border-radius: 50%;
}
.survey-v2-result .survey-v2-result-chart {
	display: block;
	width: 100%;
	overflow: visible;
	height: 260px;
}
.survey-v2-result .survey-v2-result-priority {
	margin: -10% 0 0 !important;
	font-size: 1.25cqw;
	color: #586a7b;
	line-height: 1.5;
}
.survey-v2-result .survey-v2-result-profile {
	padding-top: 5%;
}
.survey-v2-result .survey-v2-result-profile h1 {
	margin: 0 0 9%;
	font-size: 2.45cqw;
	font-weight: 500;
	line-height: 1.3;
	overflow-wrap: anywhere;
}
.survey-v2-result .survey-v2-result-measures {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 5%;
	font-size: 1.9cqw;
	line-height: 1.5;
}
.survey-v2-result .survey-v2-result-measures b {
	font-weight: 300;
	color: #75808d;
}
.survey-v2-result .survey-v2-result-bmi {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6%;
	margin-top: 4%;
	font-size: 1.55cqw;
}
.survey-v2-result .survey-v2-result-bmi strong {
	font-size: 1.75cqw;
	font-weight: 500;
}
.survey-v2-result .survey-v2-result-bmi i {
	width: 12%;
	height: 1px;
	background: #253244;
}
.survey-v2-result .survey-v2-result-bmi-advice {
	margin-top: 22%;
	padding-top: 7%;
	border-top: 2px dotted #7d8792;
}
.survey-v2-result .survey-v2-result-bmi-advice h2 {
	margin: 0 0 5%;
	padding: 0;
	border: 0;
	font-size: 1.7cqw;
	font-weight: 400;
}
.survey-v2-result .survey-v2-result-bmi-advice p {
	font-size: 1.45cqw;
	color: #657180;
}
.survey-v2-result .survey-v2-result-clip {
    position: absolute;
    right: -5.7%;
    bottom: 33%;
    width: 16%;
    height: auto;
}
.survey-v2-result .survey-v2-result-plans {
	grid-column: span 4;
	min-width: 0;
	display: flex;
	flex-direction: column;
	background: linear-gradient(rgba(67, 82, 103, .5), rgba(67, 82, 103, .5)), url('/assets/front/images/survey/問卷結果/PC/底圖/分析頁底圖.png') center / cover;
	color: #f3f5f7;
	border-left: 1px solid rgba(255, 255, 255, .4);
}
.survey-v2-result .survey-v2-result-plan-intro {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-end;
	min-height: 320px;
	padding: 60px 7% 34px;
	text-align: right;
	background: rgba(172, 181, 194, .2);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
.survey-v2-result .survey-v2-result-plan-intro h2 {
	margin: 0 0 12px;
	font-size: clamp(26px, 2.05vw, 42px);
	font-weight: 400;
	line-height: 1.35;
}
.survey-v2-result .survey-v2-result-plan-intro p {
	margin: 0;
	font-size: clamp(15px, 1.15vw, 22px);
	color: #e0e4e9;
}
.survey-v2-result .survey-v2-result-plan {
	position: relative;
	/* min-height: 155px; */
	overflow: hidden;
	border-top: 1px solid rgba(255, 255, 255, .55);
	background: #586a7b;
}
.survey-v2-result .survey-v2-result-plan::before {
	content: '';
	position: absolute;
	inset: -10px;
	background-image: linear-gradient(rgba(25, 41, 53, .45), rgba(25, 41, 53, .45)), var(--survey-topic-background, linear-gradient(135deg, #253748, #8293a5));
	background-size: cover;
	background-position: center;
	filter: blur(10px);
	transition: filter .3s ease;
}
.survey-v2-result .survey-v2-result-plan:hover::before {
	filter: blur(0);
	background-image: linear-gradient(rgba(25, 41, 53, .2), rgba(25, 41, 53, .2)), var(--survey-topic-background, linear-gradient(135deg, #253749, #8293a5));
}
.survey-v2-result .survey-v2-result-plan-content {
	position: relative;
	padding: 20px 6% 24px;
}
.survey-v2-result .survey-v2-result-plan-heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
	/* min-height: 65px; */
}
.survey-v2-result .survey-v2-result-plan-heading p {
	margin: 0 0 2px;
	color: #d45e6d;
	font-size: 15px;
}
.survey-v2-result .survey-v2-result-plan-heading h3 {
	margin: 0;
	font-size: clamp(20px, 1.65vw, 32px);
	font-weight: 400;
	line-height: 1.5;
}
.survey-v2-result .survey-v2-result-plan-toggle {
	--survey-toggle-size: clamp(32px, 2.4vw, 56px);
	--survey-toggle-width: calc(var(--survey-toggle-size) * 3.2);
	position: relative;
	flex-shrink: 0;
	display: block;
	width: var(--survey-toggle-width);
	height: var(--survey-toggle-size);
	padding: 0;
	border: 1px solid rgba(229, 237, 245, .4);
	border-radius: 40px;
	background: rgba(229, 237, 245, .22);
	color: #edf1f5;
	font: inherit;
	font-size: clamp(14px, 1vw, 20px);
	opacity: 1;
	cursor: pointer;
	-webkit-text-fill-color: currentColor;
	transition: background-color .3s ease, color .3s ease;
}
.survey-v2-result .survey-v2-result-plan-toggle-label {
	position: absolute;
	inset: 0 0 0 var(--survey-toggle-size);
	display: grid;
	place-items: center;
	white-space: nowrap;
	transition: transform .4s cubic-bezier(.22, 1, .36, 1);
}
.survey-v2-result .survey-v2-result-plan-toggle i {
	position: absolute;
	top: -1px;
	left: -1px;
	display: grid;
	place-items: center;
	width: var(--survey-toggle-size);
	height: var(--survey-toggle-size);
	border: 1px solid rgba(248, 249, 250, .7);
	border-radius: 50%;
	background: rgba(248, 249, 250, .65);
	color: #253244;
	font-style: normal;
	transition: transform .4s cubic-bezier(.22, 1, .36, 1);
}
.survey-v2-result .survey-v2-result-plan-toggle i img {
	width: 36%;
	height: 36%;
	transition: opacity .2s ease, transform .3s ease;
}
.survey-v2-result .survey-v2-result-plan-toggle i::after {
	content: '';
	position: absolute;
	top: 28%;
	left: 38%;
	width: 20%;
	height: 34%;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	opacity: 0;
	transition: opacity .2s ease;
}
.survey-v2-result .survey-v2-result-plan.is-selected .survey-v2-result-plan-toggle {
	background: linear-gradient(90deg, rgba(7, 21, 34, .8), rgba(54, 80, 101, .45));
}
.survey-v2-result .survey-v2-result-plan.is-selected .survey-v2-result-plan-toggle i {
	transform: translateX(calc(var(--survey-toggle-width) - var(--survey-toggle-size)));
}
.survey-v2-result .survey-v2-result-plan.is-selected .survey-v2-result-plan-toggle-label {
	transform: translateX(calc(0px - var(--survey-toggle-size)));
}
.survey-v2-result .survey-v2-result-plan.is-selected .survey-v2-result-plan-toggle i img {
	opacity: 0;
	transform: rotate(90deg);
}
.survey-v2-result .survey-v2-result-plan.is-selected .survey-v2-result-plan-toggle i::after {
	opacity: 1;
}
.survey-v2-result .survey-v2-result-plan.is-selected:hover .survey-v2-result-plan-toggle {
	background: rgba(140, 144, 148, .8);
	color: #253244;
}
.survey-v2-result .survey-v2-result-plan-toggle:focus-visible {
	outline: 2px solid #f8f9fa;
	outline-offset: 3px;
}
.survey-v2-result .survey-v2-result-plan-prompt {
	margin: 20px 0 0;
	color: rgba(243, 245, 247, .75);
	font-size: clamp(13px, 1vw, 20px);
	line-height: 30.03px;
}
.survey-v2-result .survey-v2-result-plan.is-selected .survey-v2-result-plan-prompt,
.survey-v2-result .survey-v2-result-plan.has-plan-preview .survey-v2-result-plan-prompt {
	display: none;
}
.survey-v2-result .survey-v2-result-plan-selection {
	display: none;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 20px;
	font-size: clamp(13px, 1vw, 20px);
}
.survey-v2-result .survey-v2-result-plan.is-selected .survey-v2-result-plan-selection,
.survey-v2-result .survey-v2-result-plan.has-plan-preview .survey-v2-result-plan-selection {
	display: flex;
}
.survey-v2-result .survey-v2-result-plan-selection span {
	padding: 2px 10px 3px;
	border: 1px solid #f3f5f7;
	border-radius: 22px;
	line-height: 1.5;
	width: 4.6cqw;
	text-align: center;
}
.survey-v2-result .survey-v2-result-plan-selection span:first-child {
	background: #f3f5f7;
	color: #253244;
}
.survey-v2-result .survey-v2-result-no-plans {
	padding: 30px;
}

/* 日期不佔用資料列；基本資料固定列高，電腦版各區塊依設計比例排列。 */
@media (min-width: 768px) {
	/* 大標題統一縮小，保留四筆排除項目與生活建議的內容空間。 */
	.survey-v2-result .survey-v2-result-card > h2,
	.survey-v2-result .survey-v2-result-excluded > h2,
	.survey-v2-result .survey-v2-result-lifestyle > h2 {
		font-size: 2cqw;
		margin-bottom: 2%;
		padding-bottom: 1.5%;
	}
	.survey-v2-result .survey-v2-result-excluded-item:last-child,
	.survey-v2-result .survey-v2-result-lifestyle-item:last-child { margin-bottom: 0; }
	/* 固定檢視高度後預留像素取整空間，避免一像素的假性溢出。 */
	.survey-v2-result .survey-v2-result-advice.is-report-active { padding-bottom: calc(2.5% - 2px); }
	/* 裁出原素材的側邊頁籤（x=1260、y=120、60×214），保留斜邊與圓角。 */
	.survey-v2-result .survey-v2-result-reports { background: #1c283a; }
	.survey-v2-result .survey-v2-result-edge {
		right: -52.206px;
		width: 66px;
		height: 235.4px;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		border-radius: 0;
		background: url('/assets/front/images/survey/問卷結果/元件/icon/分析報告底色素材.svg') right 13.7773% / 2200% 507.0093% no-repeat;
		font-size: 20px;
		letter-spacing: 2px;
	}

	/* 圖表與圖例留出距離；排除項目縮小，保留四筆排列空間。 */
	.survey-v2-result .survey-v2-result-chart { margin: 1.6cqw auto 0; }
	.survey-v2-result .survey-v2-result-excluded { margin-bottom: 4%; }
	.survey-v2-result .survey-v2-result-excluded-item { gap: 4%; margin-bottom: 2.2%;padding: 0 2.5%; }
	.survey-v2-result .survey-v2-result-excluded-icon { flex-basis: 10.5%; }
	.survey-v2-result .survey-v2-result-excluded-label { font-size: 1.3cqw; }
	.survey-v2-result .survey-v2-result-excluded-item p { font-size: 1.25cqw;padding-left: 10px; }

	.survey-v2-result .survey-v2-result-edge {
		top: 90px;
	}
	.survey-v2-result .survey-v2-result-advice {
		top: 10%;
	}
	.survey-v2-result .survey-v2-result-date {
		position: absolute;
		top: 2.5cqw;
		right: 3cqw;
		margin: 0;
	}
	.survey-v2-result .survey-v2-result-chart-column {
		padding-top: 1.5cqw;
	}
	.survey-v2-result .survey-v2-result-profile {
		display: grid;
		grid-template-rows: 3.2cqw 2cqw 2.5cqw auto;
		row-gap: 1.1cqw;
		align-self: start;
		padding-top: 3.3cqw;
	}
	.survey-v2-result .survey-v2-result-profile h1 {
		margin: 0;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.survey-v2-result .survey-v2-result-measures {
		display: grid;
		grid-template-columns: repeat(5, max-content);
		justify-content: space-between;
		gap: 0 1cqw;
		white-space: nowrap;
	}
	.survey-v2-result .survey-v2-result-bmi {
		display: grid;
		grid-template-columns: max-content max-content minmax(12px, 1fr) max-content;
		gap: 0 1cqw;
		margin-top: 0;
		white-space: nowrap;
	}
	.survey-v2-result .survey-v2-result-bmi i {
		width: 100%;
	}
	.survey-v2-result .survey-v2-result-bmi-advice {
		margin-top: 2.3cqw;
		padding-top: 1.2cqw;
	}
	.survey-v2-result .survey-v2-result-health > h2 {
		margin-bottom: 2.4cqw;
		padding-bottom: 2.2cqw;
		padding-left: 2cqw;
	}
	.survey-v2-result .survey-v2-result-topic-tabs {
		display: grid;
		grid-template-columns: repeat(var(--survey-topic-columns, 3), minmax(0, 1fr));
		gap: 1.2cqw 1.2cqw;
		margin-bottom: 1.6cqw;
		padding: 0 12px;
	}
	.survey-v2-result .survey-v2-result-topic-tab {
		min-width: 0;
		min-height: 3.8cqw;
		padding: 7px 5px;
		font-size: 1.6cqw;
	}
	.survey-v2-result .survey-v2-result-analysis {
		padding-top: 2.8cqw;
	}
	.survey-v2-result .survey-v2-result-analysis h3 {
		margin-bottom: 1.5cqw;
	}
	.survey-v2-result .survey-v2-result-analysis-type {
		display: block;
		width: 13.5cqw;
		padding-bottom: .35cqw;
		margin-bottom: 2.5cqw;
		border-bottom-width: .75cqw;
		font-size: 1.65cqw;
	}
	.survey-v2-result .survey-v2-result-analysis p {
		line-height: 1.2;
	}
	.survey-v2-result .survey-v2-result-analysis p + p {
		margin-top: 3cqw;
	}
	.survey-v2-result .survey-v2-result-model {
		aspect-ratio: var(--survey-model-ratio, 280 / 625);
	}
	.survey-v2-result .survey-v2-result-scan {
		background: radial-gradient(circle, rgba(240, 246, 255, .09) .5px, transparent .8px) 0 0 / 3px 3px, linear-gradient(135deg, #354e69, #8ea7c7);
		clip-path: polygon(0 0, 94% 0, 100% 4%, 100% 100%, 0 100%);
	}
	.survey-v2-result .survey-v2-result-scan::before {
		border: 0;
		border-radius: 0;
		background:
			linear-gradient(#dce3eb, #dce3eb) left top / 24px 1px no-repeat,
			linear-gradient(#dce3eb, #dce3eb) left top / 1px 24px no-repeat,
			linear-gradient(#dce3eb, #dce3eb) left bottom / 24px 1px no-repeat,
			linear-gradient(#dce3eb, #dce3eb) left bottom / 1px 24px no-repeat,
			linear-gradient(#dce3eb, #dce3eb) right bottom / 24px 1px no-repeat,
			linear-gradient(#dce3eb, #dce3eb) right bottom / 1px 24px no-repeat;
	}
	.survey-v2-result .survey-v2-result-plan-intro h2 {
		font-size: clamp(20.8px, 1.64vw, 33.6px);
	}
	.survey-v2-result .survey-v2-result-plan-intro p {
		font-size: clamp(12px, .92vw, 17.6px);
	}
	.survey-v2-result .survey-v2-result-plan-heading h3 {
		font-size: clamp(16px, 1.4vw, 28px);
	}
	.survey-v2-result .survey-v2-result-plan-heading p {
		font-size: 14px;
	}
	.survey-v2-result .survey-v2-result-plan-toggle {
		font-size: clamp(11.2px, .8vw, 16px);
	}
	.survey-v2-result .survey-v2-result-plan-prompt {
		font-size: clamp(10.4px, .8vw, 16px);
	}
	.survey-v2-result .survey-v2-result-plan-selection {
		gap: 12px;
		font-size: clamp(10.4px, .8vw, 16px);
	}
	.survey-v2-result .survey-v2-result-plan {
		/* min-height: 140px; */
	}
	.survey-v2-result .survey-v2-result-plan-content {
		padding: 20px 4% 24px;
	}
	.survey-v2-result .survey-v2-result-plan-heading {
		/* min-height: 50px; */
	}
}

/* 左側卡片依實際 Header 位置避讓，保留卡片底部邊界與原本內文行高。 */
@media (min-width: 768px) {
	.survey-v2-result .survey-v2-result-edge {
		top: max(90px, var(--survey-report-clearance, 90px));
	}
	.survey-v2-result .survey-v2-result-card {
		padding: 2.5% 3% 2.5% 2.5%;
	}
	.survey-v2-result .survey-v2-result-advice {
		top: max(10%, calc(var(--survey-report-clearance, 90px) + 6cqw));
	}
	.survey-v2-result .survey-v2-result-health {
		top: max(13%, calc(var(--survey-report-clearance, 90px) + 9cqw));
		bottom: 24px;
		min-height: 0;
		display: flex;
		flex-direction: column;
		overflow: hidden;
	}
	.survey-v2-result .survey-v2-result-health > h2 {
		flex-shrink: 0;
		padding-left: 0;
	}
	.survey-v2-result .survey-v2-result-topic-tabs {
		flex-shrink: 0;
	}
	.survey-v2-result .survey-v2-result-health-content {
		flex: 1;
		min-height: 0;
		grid-template-rows: minmax(0, 1fr);
		align-items: stretch;
	}
	.survey-v2-result .survey-v2-result-analysis {
		min-height: 0;
		max-height: 100%;
		overflow-y: auto;
		scrollbar-width: thin;
		scrollbar-width: auto;
	}
	.survey-v2-result .survey-v2-result-model {
		height: 100%;
		min-height: 0;
		aspect-ratio: auto;
	}
	.survey-v2-result .survey-v2-result-summary {
		top: max(17%, calc(var(--survey-report-clearance, 90px) + 12cqw));
		padding: 2% 2% 2.4%;
	}
	.survey-v2-result .survey-v2-result-date {
		top: 2cqw;
		right: 2.25cqw;
	}
	.survey-v2-result .survey-v2-result-card:hover,
	.survey-v2-result .survey-v2-result-card:focus-within {
		z-index: 4;
	}
}

/* 卡片展開與幻燈片共用原本的報告元素，保留內容與表單狀態。 */
.survey-v2-result .survey-v2-report-shade,
.survey-v2-result .survey-v2-report-controls {
	display: none;
}
@media (min-width: 768px) {
	.survey-v2-result .survey-v2-result-stack {
		--survey-card-duration: 650ms;
		z-index: 2;
	}
	.survey-v2-result .survey-v2-result-card {
		cursor: zoom-in;
	}
	.survey-v2-result .survey-v2-result-stack.is-report-ready .survey-v2-result-card {
		transition: left var(--survey-card-duration) cubic-bezier(.22, 1, .36, 1), top var(--survey-card-duration) cubic-bezier(.22, 1, .36, 1), bottom var(--survey-card-duration) cubic-bezier(.22, 1, .36, 1), transform var(--survey-card-duration) cubic-bezier(.22, 1, .36, 1), filter .3s ease;
	}
	.survey-v2-result .survey-v2-result-stack.is-spread .survey-v2-result-card {
		width: 54%;
	}
	.survey-v2-result .survey-v2-result-stack.is-spread .survey-v2-result-advice {
		left: 9%;
		top: max(8%, calc(var(--survey-report-clearance, 90px) + 5cqw));
		max-height: calc(100% - max(8%, calc(var(--survey-report-clearance, 90px) + 5cqw)) - 6cqw);
		overflow-y: auto;
		transform: rotate(-8deg);
	}
	.survey-v2-result .survey-v2-result-stack.is-spread .survey-v2-result-health {
		left: 24%;
		top: max(11%, calc(var(--survey-report-clearance, 90px) + 8cqw));
		bottom: max(40px, 3cqw);
		transform: rotate(5deg);
	}
	.survey-v2-result .survey-v2-result-stack.is-spread .survey-v2-result-summary {
		left: 39%;
		top: max(24%, calc(var(--survey-report-clearance, 90px) + 18cqw));
		transform: rotate(10deg);
	}
	.survey-v2-result .survey-v2-result-card.is-front {
		z-index: 6;
	}
	.survey-v2-result .survey-v2-result-card:focus-visible {
		outline: 2px solid #fff;
		outline-offset: 5px;
	}
	.survey-v2-result .survey-v2-result-reports.is-report-viewing .survey-v2-result-edge {
		z-index: 0;
	}
	.survey-v2-result .survey-v2-result-stack.is-report-viewing .survey-v2-report-shade {
		display: block;
	}
	.survey-v2-result .survey-v2-report-shade {
		position: absolute;
		z-index: 20;
		opacity: 0;
		background: rgba(25, 25, 25, .9);
		transition: opacity .3s ease;
		cursor: zoom-out;
	}
	.survey-v2-result .survey-v2-result-stack.is-report-open .survey-v2-report-shade {
		opacity: 1;
	}
	.survey-v2-result .survey-v2-result-stack.is-report-viewing .survey-v2-report-controls {
		display: block;
	}
	.survey-v2-result .survey-v2-report-controls {
		position: absolute;
		inset: 0;
		z-index: 40;
		opacity: 0;
		pointer-events: none;
		transition: opacity .3s ease;
	}
	.survey-v2-result .survey-v2-result-stack.is-report-open .survey-v2-report-controls {
		opacity: 1;
	}
	.survey-v2-result .survey-v2-result-stack.is-report-viewing.is-report-open .survey-v2-result-card.is-report-returning {
		z-index: 1;
		transition: none;
		filter: blur(5px);
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}
	.survey-v2-result .survey-v2-report-nav,
	.survey-v2-result .survey-v2-report-close {
		position: absolute;
		display: grid;
		place-items: center;
		width: 40px;
		height: 40px;
		padding: 0;
		border: 1px solid rgba(255, 255, 255, .35);
		border-radius: 50%;
		background: rgba(221, 229, 235, .65);
		color: #253244;
		cursor: pointer;
		pointer-events: auto;
	}
	.survey-v2-result .survey-v2-report-nav svg {
		width: 18px;
		height: 18px;
	}
	.survey-v2-result .survey-v2-report-nav:focus-visible,
	.survey-v2-result .survey-v2-report-close:focus-visible {
		outline: 2px solid #fff;
		outline-offset: 4px;
	}
	.survey-v2-result .survey-v2-report-status,
	.survey-v2-result .survey-v2-report-close:not(:focus-visible) {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}
	.survey-v2-result .survey-v2-result-stack.is-report-viewing .survey-v2-result-card:not(.is-report-active):not(.is-report-returning) {
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
		filter: blur(5px);
	}
	.survey-v2-result .survey-v2-result-stack.is-report-viewing .survey-v2-result-card.is-report-active {
		z-index: 30;
		cursor: auto;
		outline: none;
		transition: none;
		animation: survey-v2-report-fade-in .35s ease both;
	}
	.survey-v2-result .survey-v2-result-stack.is-report-viewing .survey-v2-result-card.is-report-returning {
		z-index: 21;
		pointer-events: none;
	}
	.survey-v2-result .survey-v2-result-card.is-report-active .survey-v2-result-analysis {
		overscroll-behavior: contain;
	}
	.survey-v2-result .survey-v2-result-card.is-report-active.survey-v2-result-advice {
		overflow-y: auto;
		scrollbar-width: auto;
	}
	.survey-v2-result .survey-v2-result-stack.is-report-closing .survey-v2-report-controls {
		visibility: hidden;
	}
}

@keyframes survey-v2-hotspot-breathe {
	0%, 100% { opacity: .45; }
	50% { opacity: 1; }
}

@keyframes survey-v2-report-fade-in {
	from { opacity: 0; }
	to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
	.survey-v2-result .survey-v2-result-hotspot,
	.survey-v2-result .survey-v2-result-hotspot.is-active,
	.survey-v2-result .survey-v2-result-analysis-panel:not([hidden]) {
		animation: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.survey-v2-result .survey-v2-result-plan::before,
	.survey-v2-result .survey-v2-result-plan-toggle,
	.survey-v2-result .survey-v2-result-plan-toggle-label,
	.survey-v2-result .survey-v2-result-plan-toggle i,
	.survey-v2-result .survey-v2-result-plan-toggle i img,
	.survey-v2-result .survey-v2-result-plan-toggle i::after {
		transition: none;
	}
}

@media (min-width: 768px) and (prefers-reduced-motion: reduce) {
	.survey-v2-result .survey-v2-result-stack.is-report-viewing .survey-v2-result-card.is-report-active {
		animation-duration: .01ms;
	}
	.survey-v2-result .survey-v2-result-stack {
		--survey-card-duration: .01ms;
	}
	.survey-v2-result .survey-v2-report-shade,
	.survey-v2-result .survey-v2-report-controls {
		transition-duration: .01ms;
	}
}

@media (min-width: 1921px) {
	.survey-v2-result .survey-v2-result-stack {
		max-width: 1360px;
		margin: 0 auto;
	}
}

@media (max-width: 1199px) and (min-width: 768px) {
	.survey-v2-result .survey-v2-result-stack {
		min-height: 620px;
	}
	.survey-v2-result .survey-v2-result-card {
		left: 14%;
		width: 72%;
	}
	.survey-v2-result .survey-v2-result-summary {
		left: 9%;
		width: 80%;
	}
	.survey-v2-result .survey-v2-result-plan-heading {
		flex-wrap: wrap;
	}
	.survey-v2-result .survey-v2-result-plan-toggle {
		margin-left: auto;
	}
	.survey-v2-result .survey-v2-result-plan-intro {
		min-height: 260px;
		padding-right: 24px;
	}
	.survey-v2-result .survey-v2-result-plan-intro h2 {
		font-size: 19.2px;
	}
}

/* 電腦第一屏同時依視窗寬、高配合設計比例，避免只能縮小瀏覽器才看得完整。 */
@media (min-width: 768px) {
	.survey-v2-result {
		--survey-result-unit: min(.052083333vw, calc(var(--survey-result-height, 100vh) / 1080));
	}
	.survey-v2-result .survey-v2-result-grid {
		height: var(--survey-result-height, 100vh);
		min-height: 0;
	}
	.survey-v2-result .survey-v2-result-reports {
		min-height: 0;
		justify-content: center;
	}
	.survey-v2-result .survey-v2-result-stack {
		width: min(100%, calc(var(--survey-result-height, 100vh) * 1.23));
		min-height: 0;
		max-height: none;
		flex-shrink: 0;
	}
	.survey-v2-result .survey-v2-result-advice {
		max-height: calc(100% - max(10%, calc(var(--survey-report-clearance, 90px) + 6cqw)) - 6cqw);
		overflow-y: auto;
	}
	.survey-v2-result .survey-v2-result-chart { height: auto; }
	.survey-v2-result .survey-v2-result-edge {
		right: calc(-52.206 * var(--survey-result-unit));
		width: calc(66 * var(--survey-result-unit));
		height: calc(235.4 * var(--survey-result-unit));
		font-size: max(13px, calc(20 * var(--survey-result-unit)));
	}
	.survey-v2-result .survey-v2-result-plans { min-height: 0; }
	.survey-v2-result .survey-v2-result-plan-list {
		display: flex;
		flex-direction: column;
		min-height: 46.3%;
		flex-shrink: 0;
	}
	.survey-v2-result .survey-v2-result-plan { display: flex; align-items: center; flex: 1 0 auto; }
	.survey-v2-result .survey-v2-result-plan-intro {
		min-height: 0;
		padding: calc(60 * var(--survey-result-unit)) 7% calc(34 * var(--survey-result-unit));
	}
	.survey-v2-result .survey-v2-result-plan-intro h2 {
		margin-bottom: calc(12 * var(--survey-result-unit));
		font-size: max(18px, calc(31.5 * var(--survey-result-unit)));
	}
	.survey-v2-result .survey-v2-result-plan-intro p { font-size: max(11px, calc(17.6 * var(--survey-result-unit))); }
	.survey-v2-result .survey-v2-result-plan-content { width: 100%; padding: calc(20 * var(--survey-result-unit)) 4% calc(24 * var(--survey-result-unit)); }
	.survey-v2-result .survey-v2-result-plan-heading { gap: calc(14 * var(--survey-result-unit)); }
	.survey-v2-result .survey-v2-result-plan-heading h3 { font-size: max(14px, calc(26.88 * var(--survey-result-unit))); }
	.survey-v2-result .survey-v2-result-plan-heading p { font-size: max(10px, calc(14 * var(--survey-result-unit))); }
	.survey-v2-result .survey-v2-result-plan-toggle {
		--survey-toggle-size: max(26px, calc(46 * var(--survey-result-unit)));
		font-size: max(10px, calc(15.36 * var(--survey-result-unit)));
	}
	.survey-v2-result .survey-v2-result-plan-selection {
		gap: calc(12 * var(--survey-result-unit));
		margin-top: calc(20 * var(--survey-result-unit));
		font-size: max(11px, calc(15.36 * var(--survey-result-unit)));
	}
	.survey-v2-result .survey-v2-result-plan-selection span { width: auto; min-width: calc(72 * var(--survey-result-unit)); white-space: nowrap; }
	.survey-v2-result .survey-v2-result-plan-prompt {
		margin-top: calc(20 * var(--survey-result-unit));
		font-size: max(11px, calc(15.36 * var(--survey-result-unit)));
		line-height: 1.5;
	}
}

@media (max-width: 767px) {
	.survey-v2-result .survey-v2-result-grid {
		display: block;
	}
	.survey-v2-result .survey-v2-result-reports {
		display: block;
		padding: calc(var(--spica-header-height, 78px) + 42px) 16px 30px;
	}
	.survey-v2-result .survey-v2-result-edge {
		top: calc(var(--spica-header-height, 78px) + 12px);
		right: 16px;
		padding: 0;
		writing-mode: horizontal-tb;
		font-size: 13px;
		letter-spacing: 2px;
	}
	.survey-v2-result .survey-v2-result-stack {
		display: flex;
		flex-direction: column;
		gap: 20px;
		min-height: 0;
		max-height: none;
		aspect-ratio: auto;
	}
	.survey-v2-result .survey-v2-result-card {
		position: relative;
		inset: auto;
		width: 100%;
		min-height: 0;
		padding: 22px;
		border-radius: 12px;
		transform: none;
		font-size: 14px;
	}
	.survey-v2-result .survey-v2-result-summary {
		order: -2;
	}
	.survey-v2-result .survey-v2-result-health {
		order: -1;
	}
	.survey-v2-result .survey-v2-result-card h2 {
		margin-bottom: 20px;
		padding-bottom: 18px;
		font-size: 20px;
	}
	.survey-v2-result .survey-v2-result-date {
		font-size: 12px;
		margin-bottom: 18px;
	}
	.survey-v2-result .survey-v2-result-summary-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.survey-v2-result .survey-v2-result-legend {
		font-size: 12px;
		gap: 6px 12px;
	}
	.survey-v2-result .survey-v2-result-legend i {
		width: 10px;
		height: 10px;
	}
	.survey-v2-result .survey-v2-result-chart {
		max-width: 330px;
		margin: 0 auto;
	}
	.survey-v2-result .survey-v2-result-priority {
		font-size: 13px;
	}
	.survey-v2-result .survey-v2-result-profile {
		padding: 0;
	}
	.survey-v2-result .survey-v2-result-profile h1 {
		margin-bottom: 14px;
		font-size: 26px;
	}
	.survey-v2-result .survey-v2-result-measures {
		font-size: 18px;
	}
	.survey-v2-result .survey-v2-result-bmi,
	.survey-v2-result .survey-v2-result-bmi strong {
		font-size: 15px;
	}
	.survey-v2-result .survey-v2-result-bmi-advice {
		margin-top: 20px;
		padding-top: 18px;
	}
	.survey-v2-result .survey-v2-result-bmi-advice h2 {
		font-size: 18px;
		margin-bottom: 10px;
		padding: 0;
	}
	.survey-v2-result .survey-v2-result-bmi-advice p {
		font-size: 14px;
	}
	.survey-v2-result .survey-v2-result-clip {
		width: 50px;
		right: -10px;
		bottom: 48px;
	}
	.survey-v2-result .survey-v2-result-topic-tabs {
		margin-bottom: 28px;
	}
	.survey-v2-result .survey-v2-result-topic-tab {
		font-size: 12px;
	}
	.survey-v2-result .survey-v2-result-analysis h3 {
		font-size: 14px;
	}
	.survey-v2-result .survey-v2-result-analysis-type {
		font-size: 17px;
		border-bottom-width: 5px;
	}
	.survey-v2-result .survey-v2-result-analysis p {
		font-size: 14px;
	}
	.survey-v2-result .survey-v2-result-scan span {
		font-size: 9px;
	}
	.survey-v2-result .survey-v2-result-excluded-label {
		font-size: 14px;
	}
	.survey-v2-result .survey-v2-result-lifestyle-item h3 {
		font-size: 16px;
	}
	.survey-v2-result .survey-v2-result-plans {
		border-left: 0;
	}
	.survey-v2-result .survey-v2-result-plan-intro {
		min-height: 220px;
		padding: 36px 24px;
	}
	.survey-v2-result .survey-v2-result-plan-intro h2 {
		font-size: 28px;
	}
	.survey-v2-result .survey-v2-result-plan-heading h3 {
		font-size: 23px;
	}
	.survey-v2-result .survey-v2-result-plan-selection {
		font-size: 15px;
	}
}

/* 方案選擇獨立燈箱，沿用議題底圖與設計師遮罩。 */
.survey-v2-result .survey-v2-result-plan {
	cursor: pointer;
}
.survey-v2-result .survey-v2-result-plan:focus-visible {
	outline: 2px solid #f8f9fa;
	outline-offset: -3px;
}
.survey-v2-plan-picker {
	position: fixed;
	inset: 0;
	z-index: 2000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 48px 64px;
	background: rgba(25, 25, 25, .9);
	color: #f8f9fa;
	font-family: inherit;
	font-size: 14px;
	--survey-cart-expanded-height: clamp(130px, 17vh, 180px);
	--survey-cart-height: var(--survey-cart-expanded-height);
}
.survey-v2-plan-picker[hidden],
.survey-v2-plan-picker [hidden] {
	display: none;
}
.survey-v2-plan-picker *,
.survey-v2-plan-picker *::before,
.survey-v2-plan-picker *::after {
	box-sizing: border-box;
}
.survey-v2-picker-shell {
	position: relative;
	width: min(1200px, 100%, calc((100vh - 96px) * 2.1784));
	aspect-ratio: 1636 / 751;
	height: auto;
	outline: none;
	animation: survey-v2-report-fade-in .25s ease both;
}
.survey-v2-picker-shell::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(rgba(45, 65, 80, .3), rgba(45, 65, 80, .3)), var(--survey-picker-background);
	background-size: cover;
	background-position: center;
	-webkit-mask: url('/assets/front/images/survey/問卷結果/PC/底圖/方案組件底圖遮罩.svg') center / 100% 100% no-repeat;
	mask: url('/assets/front/images/survey/問卷結果/PC/底圖/方案組件底圖遮罩.svg') center / 100% 100% no-repeat;
	pointer-events: none;
}
.survey-v2-picker-heading {
	position: absolute;
	top: 28px;
	left: 44px;
	right: 220px;
}
.survey-v2-picker-heading h2 {
	margin: 0 0 6px;
	font-size: 23px;
	font-weight: 500;
	line-height: 1.3;
}
.survey-v2-picker-heading p {
	margin: 0;
	font-size: 15px;
	line-height: 1.4;
}
.survey-v2-picker-status {
	position: absolute;
	z-index: 3;
	top: 13px;
	right: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	width: 180px;
	height: 40px;
	border: 1px solid rgba(248, 249, 250, .55);
	border-radius: 0 7px 0 0;
	background: rgba(248, 249, 250, .28);
	color: #f8f9fa;
	font: inherit;
	font-size: 17px;
	cursor: pointer;
}
.survey-v2-picker-status i {
	position: relative;
	width: 23px;
	height: 23px;
	border-radius: 50%;
	background: #f8f9fa url('/assets/front/images/survey/問卷結果/元件/icon/+號.svg') center / 16px 16px no-repeat;
}
.survey-v2-picker-status[aria-pressed="true"] { background: #808080; }
.survey-v2-picker-status[aria-pressed="true"] i {
	background-image: none;
}
.survey-v2-picker-status[aria-pressed="true"] i::after {
	content: '';
	position: absolute;
	top: 5px;
	left: 8px;
	width: 7px;
	height: 11px;
	border-right: 1.5px solid #253244;
	border-bottom: 1.5px solid #253244;
	transform: rotate(45deg);
}
.survey-v2-picker-close {
	position: absolute;
	top: -28px;
	right: 0;
	border: 0;
	background: transparent;
	color: #f8f9fa;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
}
.survey-v2-picker-content {
	position: absolute;
	inset: 80px 24px 24px 36px;
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
	gap: 4%;
}
.survey-v2-picker-deck {
	position: relative;
	min-width: 0;
	margin-top: 52px;
}
.survey-v2-picker-option {
	position: absolute;
	top: 13%;
	bottom: 4%;
	width: 59%;
	padding: 52px 26px 20px;
	border: 1px solid rgba(248, 249, 250, .8);
	border-radius: 8px;
	background: rgba(208, 217, 225, .22);
	color: #f8f9fa;
	transform: scale(.86);
	cursor: pointer;
	clip-path: polygon(0 0, 100% 0, 100% 22%, 98% 24%, 100% 26%, 100% 100%, 0 100%);
	transition: transform .45s cubic-bezier(.22, 1, .36, 1), top .45s ease, bottom .45s ease, background-color .25s ease, color .25s ease;
	filter: blur(1px);
}
.survey-v2-picker-option::before {
	content: '';
	position: absolute;
	inset: 10px;
	border: 1px solid rgba(248, 249, 250, .65);
	border-radius: 7px;
	pointer-events: none;
}
.survey-v2-picker-option[data-plan-key="complete"] {
	left: 0;
	transform-origin: left center;
}
.survey-v2-picker-option[data-plan-key="basic"] {
	right: 0;
	transform-origin: right center;
}
.survey-v2-picker-option.is-current {
	z-index: 2;
	top: 4%;
	bottom: 0;
	background: rgba(195, 206, 213, 1);
	color: #253244;
	transform: scale(1);
	filter: blur(0px);
}
.survey-v2-picker-option:focus-visible {
	outline: 2px solid #f8f9fa;
	outline-offset: -4px;
}
.survey-v2-picker-option h3 {
	position: relative;
	margin: 0 0 24px;
	border-bottom: 1px solid currentColor;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.2;
}
.survey-v2-picker-option h3 span {
	padding: 0 10px;
	background: #f8f9fa;
	color: #253244;
}
.survey-v2-picker-option.is-current h3 span {
	background: #191919;
	color: #f8f9fa;
}
.survey-v2-picker-priority {
	position: absolute;
	top: 20px;
	right: 22px;
	padding: 2px 8px;
	border-radius: 20px;
	background: #d45e6d;
	color: #f8f9fa;
	font-size: 11px;
}
.survey-v2-picker-products {
	position: relative;
	z-index: 1;
	max-height: calc(100% - 140px);
	padding: 0;
	margin: 0;
	overflow-y: auto;
	list-style: none;
	scrollbar-width: thin;
}
.survey-v2-picker-products li {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 14px;
	font-size: 16px;
	line-height: 1.3;
}
.survey-v2-picker-products li > div {
	min-width: 0;
}
.survey-v2-picker-products strong {
	display: block;
	font-weight: 400;
}
.survey-v2-picker-products small {
	display: block;
	margin-left: 12px;
	font-size: 11px;
	opacity: .7;
}
.survey-v2-picker-products li > span {
	flex-shrink: 0;
}
.survey-v2-picker-art {
	position: absolute;
	left: 20px;
	right: 20px;
	bottom: 22px;
	height: 132px;
	pointer-events: none;
}
.survey-v2-picker-pill {
	position: absolute;
	left: var(--pill-x);
	top: var(--pill-y);
	width: 50%;
	/* height: 85px; */
	object-fit: contain;
	filter: blur(3px);
	transform: translate(-50%, -50%) rotate(var(--pill-angle));
	transition: transform .5s cubic-bezier(.22, 1, .36, 1);
}
.survey-v2-picker-option.is-current:hover .survey-v2-picker-pill {
	transform: translate(-50%, -50%) rotate(var(--pill-hover-angle));
}
.survey-v2-picker-detail {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 0;
	padding: 22px 14px 12px;
	border: 1px solid rgba(248, 249, 250, .45);
	border-radius: 10px;
	background: rgba(23, 44, 57, .3);
	animation: survey-v2-report-fade-in .25s ease both;
}
.survey-v2-picker-description {
	margin: 0 0 18px;
	font-size: 12px;
	line-height: 1.5;
	padding: 0 20px;
}
.survey-v2-picker-product-details {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	scrollbar-width: thin;
	padding: 0 20px;
}
.survey-v2-picker-product-detail {
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr);
	gap: 10px;
	margin-bottom: 14px;
	font-size: 12px;
	line-height: 1.35;
}
.survey-v2-picker-product-image {
	display: grid;
	align-content: center;
	justify-content: center;
	font-size: 9px;
}
.survey-v2-picker-product-image img {
	width: 44px;
	height: 30px;
	object-fit: contain;
}
.survey-v2-picker-product-detail h4 {
	margin: 0 0 3px;
	font-size: 15px;
	font-weight: 400;
}
.survey-v2-picker-product-detail p {
	margin: 0;
}
.survey-v2-picker-tags span {
	padding: 0 4px;
	border: 1px solid rgba(248, 249, 250, .5);
	font-size: 11px;
	opacity: .7;
}
.survey-v2-picker-periods {
	flex-shrink: 0;
	padding: 8px 10px 10px;
	border: 1px solid rgba(248, 249, 250, .65);
	border-radius: 7px;
	background: rgba(15, 31, 43, .55);
}
.survey-v2-picker-periods h3 {
	margin: 0 0 10px;
	padding-bottom: 6px;
	border-bottom: 1px solid rgba(248, 249, 250, .65);
	font-size: 15px;
	font-weight: 400;
}
.survey-v2-picker-periods > div {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 10px;
}
.survey-v2-picker-periods button {
	padding: 1px 12px;
	border: 1px solid #f8f9fa;
	border-radius: 24px;
	background: transparent;
	color: #f8f9fa;
	font: inherit;
	font-size: 16px;
	line-height: 1.4;
	cursor: pointer;
}
.survey-v2-picker-periods button[aria-pressed="true"] {
	border-color: #d45e6d;
	background: #f8f9fa;
	color: #253244;
}
.survey-v2-picker-periods button.is-priority-period::before {
	content: '';
	display: inline-block;
	width: .8em;
	height: .8em;
	margin-right: .35em;
	background: url('/assets/front/images/survey/問卷結果/元件/icon/優先建議星號.svg') center / contain no-repeat;
}
.survey-v2-picker-periods button.is-priority-period[aria-pressed="true"]::before {
	background: #d45e6d;
	-webkit-mask: url('/assets/front/images/survey/問卷結果/元件/icon/優先建議星號.svg') center / contain no-repeat;
	mask: url('/assets/front/images/survey/問卷結果/元件/icon/優先建議星號.svg') center / contain no-repeat;
}
.survey-v2-picker-periods button:disabled {
	opacity: .45;
	cursor: default;
}
.survey-v2-picker-unavailable {
	margin: 10px 0 0;
	font-size: 12px;
	line-height: 1.4;
}
.survey-v2-picker-nav {
	position: absolute;
	top: calc(50% - 16px);
	width: 32px;
	height: 32px;
	padding: 0;
	border: 1px solid rgba(248, 249, 250, .6);
	border-radius: 50%;
	background: rgba(248, 249, 250, .45);
	color: #253244;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}
.survey-v2-picker-prev { left: -48px; }
.survey-v2-picker-next { right: -48px; }
.survey-v2-picker-guide {
	position: absolute;
	top: 126px;
	left: 18%;
	right: 35%;
	border-top: 1px solid rgba(248, 249, 250, .8);
	transition: left .4s ease;
	z-index: 1;
}
.survey-v2-picker-guide::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	height: 25px;
	border-left: 1px solid rgba(248, 249, 250, .8);
	transform: skewX(-12deg);
	transform-origin: top;
}
.survey-v2-picker-shell.is-basic .survey-v2-picker-guide {
	left: 43%;
}
.survey-v2-picker-message {
	position: absolute;
	bottom: -32px;
	left: 0;
	right: 0;
	margin: 0;
	text-align: center;
	font-size: 14px;
}

.survey-v2-picker-background { display: none; }

/* 桌面方案燈箱：以底圖寬度同步縮放內容，維持設計比例。 */
@media (min-width: 768px) {
	.survey-v2-plan-picker {
		align-items: flex-start;
		padding-top: max(50px, 5vh);
		--survey-picker-width: min(86vw, calc(100vw - 128px), calc((100vh - max(50px, 5vh) - var(--survey-cart-height) - 32px) * 2.1784));
		font-weight: 400;
	}
	.survey-v2-picker-shell {
		container-type: inline-size;
		width: var(--survey-picker-width);
	}
	.survey-v2-picker-shell::before { display: none; }
	/* 遮罩與模糊分層，僅柔化底圖，保留外輪廓及內容清晰。 */
	.survey-v2-picker-background {
		display: block;
		position: absolute;
		inset: 0;
		overflow: hidden;
		-webkit-mask: url('/assets/front/images/survey/問卷結果/PC/底圖/方案組件底圖遮罩.svg') center / 100% 100% no-repeat;
		mask: url('/assets/front/images/survey/問卷結果/PC/底圖/方案組件底圖遮罩.svg') center / 100% 100% no-repeat;
		pointer-events: none;
	}
	.survey-v2-picker-background::before {
		content: '';
		position: absolute;
		inset: -18px;
		background: linear-gradient(105deg, rgba(12, 26, 33, .65), rgba(50, 77, 92, .2) 64%, rgba(73, 103, 122, .3)), var(--survey-picker-background);
		background-size: cover;
		background-position: center;
		filter: blur(12px);
	}
	.survey-v2-picker-heading {
		top: 2.333333cqw;
		left: 3.666667cqw;
		right: 18.333333cqw;
	}
	.survey-v2-picker-heading h2 {
		margin: 0 0 0.5cqw;
		font-size: 1.916667cqw;
	}
	.survey-v2-picker-heading p {
		font-size: 1.416667cqw;
	}
	.survey-v2-picker-status {
		top: 1.083333cqw;
		right: 2.333333cqw;
		gap: 0.75cqw;
		width: 18.75cqw;
		height: 3.833333cqw;
		border-radius: 0 0.583333cqw 0 0;
		font-size: 1.416667cqw;
	}
	.survey-v2-picker-status i {
		width: 1.916667cqw;
		height: 1.916667cqw;
		background: #f8f9fa url('/assets/front/images/survey/問卷結果/元件/icon/+號.svg') center / 1.333333cqw 1.333333cqw no-repeat;
	}
	.survey-v2-picker-status[aria-pressed="true"] i::after {
		top: 0.416667cqw;
		left: 0.666667cqw;
		width: 0.583333cqw;
		height: 0.916667cqw;
	}
	.survey-v2-picker-close {
		top: -2.333333cqw;
		font-size: 2.166667cqw;
	}
	.survey-v2-picker-content {
		inset: 6.5cqw 1.666667cqw 1.666667cqw 3cqw;
	}
	.survey-v2-picker-deck {
		margin-top: 4.75cqw;
	}
	.survey-v2-picker-option {
		top: 9%;
		bottom: 2%;
		width: 56%;
		padding: 5cqw 3cqw 1.666667cqw;
		border-radius: 0.666667cqw;
	}
	.survey-v2-picker-option::before {
		inset: 0.833333cqw;
		border-radius: 0.583333cqw;
	}
	.survey-v2-picker-option.is-current {
		background: rgba(195, 206, 213, 1);
	}
	.survey-v2-picker-option:focus-visible {
		outline: 0.166667cqw solid #f8f9fa;
		outline-offset: -0.333333cqw;
	}
	.survey-v2-picker-option h3 {
		width: 72%;
		margin: 0 0 2cqw;
		font-size: 1.666667cqw;
		height: 33px;
	}
	.survey-v2-picker-option h3 span {
		padding: 0 0.833333cqw;
	}
	.survey-v2-picker-priority {
		top: 1.666667cqw;
		right: 1.833333cqw;
		padding: 0.196667cqw 0.866667cqw 0.236667cqw 0.666667cqw;
		border-radius: 1.666667cqw;
		font-size: 0.916667cqw;
	}
	.survey-v2-picker-products {
		max-height: calc(100% - 7.5cqw);
	}
	.survey-v2-picker-products li {
		gap: 0.833333cqw;
		margin-bottom: 1.166667cqw;
		font-size: 1.333333cqw;
	}
	.survey-v2-picker-products small {
		margin-left: 1cqw;
		font-size: 0.916667cqw;
	}
	.survey-v2-picker-art {
		left: 1.666667cqw;
		right: 1.666667cqw;
		bottom: 1.833333cqw;
		height: 11cqw;
	}
	.survey-v2-picker-pill {
		/* height: 7.083333cqw; */
		/* filter: blur(0.25cqw); */
	}
	.survey-v2-picker-detail {
		padding: 1.833333cqw 1.166667cqw 1cqw;
		border-radius: 0.833333cqw;
		background: rgba(23, 44, 57, .38);
	}
	.survey-v2-picker-description {
		margin: 0 0 1.5cqw;
		font-size: 1.2cqw;
		line-height: 1.2cqw;
	}
	.survey-v2-picker-product-detail {
		grid-template-columns: 4.5cqw minmax(0, 1fr);
		gap: 1.2cqw;
		margin-bottom: 1.166667cqw;
		font-size: 1cqw;
	}
	.survey-v2-picker-product-image {
		font-size: 0.75cqw;
	}
	.survey-v2-picker-product-image img {
		width: 30cqw;
		height: auto;
		transform: scale(1.2);
	}
	.survey-v2-picker-product-detail h4 {
		margin: 0 0 0.25cqw;
		font-size: 1.25cqw;
	}
	.survey-v2-picker-tags span {
		padding: 0 0.333333cqw;
		font-size: 0.916667cqw;
	}
	.survey-v2-picker-periods {
		padding: 0.666667cqw 0.833333cqw 0.833333cqw;
		border-radius: 0.583333cqw;
	}
	.survey-v2-picker-periods h3 {
		margin: 0 0 0.833333cqw;
		padding-bottom: 0.5cqw;
		font-size: 1.25cqw;
	}
	.survey-v2-picker-periods > div {
		gap: 0.833333cqw;
		padding: 0 12px;
	}
	.survey-v2-picker-periods button {
		padding: 1px 10px 3px;
		border-radius: 2cqw;
		font-size: 1.333333cqw;
		width: 8cqw;
	}
	.survey-v2-picker-unavailable {
		margin: 0.833333cqw 0 0;
		font-size: 1cqw;
	}
	.survey-v2-picker-nav {
		top: calc(50% - 1.208333cqw);
		width: 2.416667cqw;
		height: 2.416667cqw;
	}
	.survey-v2-picker-prev { left: -5cqw; }
	.survey-v2-picker-next { right: -5cqw; }
	.survey-v2-picker-guide {
		top: 9.083333cqw;
	}
	.survey-v2-picker-guide::before {
		height: 2.083333cqw;
	}
	.survey-v2-picker-message {
		bottom: -2.666667cqw;
		font-size: 1.166667cqw;
	}

}

@media (max-width: 767px) {
	.survey-v2-plan-picker { padding: 42px 18px; }
	.survey-v2-picker-shell { height: calc(100vh - 84px - var(--survey-cart-height)); }
	.survey-v2-picker-shell::before { -webkit-mask: none; mask: none; border-radius: 12px; }
	.survey-v2-picker-heading { top: 30px; left: 20px; right: 20px; }
	.survey-v2-picker-heading h2 { font-size: 19px; }
	.survey-v2-picker-heading p { font-size: 12px; }
	.survey-v2-picker-status { top: 2px; right: 18px; width: 130px; height: 27px; font-size: 13px; }
	.survey-v2-picker-status i { width: 20px; height: 20px; }
	.survey-v2-picker-content { inset: 108px 12px 20px; display: flex; flex-direction: column; gap: 20px; overflow-y: auto; }
	.survey-v2-picker-deck { flex: 0 0 350px; margin-top: 0; }
	.survey-v2-picker-option { padding: 42px 15px 12px; width: 61%; }
	.survey-v2-picker-option h3 { font-size: 16px; margin-bottom: 14px; }
	.survey-v2-picker-products li { font-size: 12px; margin-bottom: 10px; }
	.survey-v2-picker-products small { font-size: 9px; }
	.survey-v2-picker-products { max-height: calc(100% - 105px); }
	.survey-v2-picker-art { height: 90px; bottom: 12px; }
	.survey-v2-picker-pill { height: 60px; }
	.survey-v2-picker-detail { flex-shrink: 0; min-height: 340px; }
	.survey-v2-picker-priority { top: 16px; right: 14px; font-size: 9px; }
	.survey-v2-picker-guide { display: none; }
	.survey-v2-picker-nav { top: -32px; width: 26px; height: 26px; }
	.survey-v2-picker-prev { left: 0; }
	.survey-v2-picker-next { left: 34px; right: auto; }
}

@media (prefers-reduced-motion: reduce) {
	.survey-v2-picker-shell,
	.survey-v2-picker-detail { animation: none; }
	.survey-v2-picker-option,
	.survey-v2-picker-pill,
	.survey-v2-picker-guide { transition: none; }
}

/* 方案選擇前端摘要；金額與結帳待串接既有購物車。 */
.survey-v2-picker-nav { display: grid; place-items: center; }
.survey-v2-picker-nav svg { width: 52%; height: 52%; }
.survey-v2-plan-picker.is-cart-collapsed { --survey-cart-height: 10px; }
.survey-v2-picker-cart {
	position: absolute;
	inset: auto 0 0;
	height: var(--survey-cart-height);
	clip-path: inset(-24px 0 0);
	transition: height .48s cubic-bezier(.22, 1, .36, 1);
	border-radius: 6px 6px 0 0;
	background: rgba(248, 249, 250, .94);
	color: #253244;
	font-weight: 400;
}
.survey-v2-picker-cart-toggle {
	position: absolute;
	top: -18px;
	left: calc(50% - 35px);
	width: 70px;
	height: 18px;
	padding: 0;
	border: 0;
	border-radius: 3px 3px 0 0;
	background: #e9ecef;
	color: #586a7b;
	cursor: pointer;
}
.survey-v2-picker-cart-toggle svg { width: 18px; height: 18px; transition: transform .35s ease; }
.survey-v2-plan-picker.is-cart-collapsed .survey-v2-picker-cart-toggle svg { transform: rotate(180deg); }
.survey-v2-plan-picker.is-cart-collapsed .survey-v2-picker-cart-body { opacity: 0; visibility: hidden; transform: translateY(12px); transition-delay: 0s, .35s, 0s; }
.survey-v2-picker-cart-body {
	display: grid;
	grid-template-columns: 1fr 4fr 1.15fr 1.1fr;
	align-items: center;
	gap: 3%;
	width: 80%;
	height: var(--survey-cart-expanded-height);
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	transition: opacity .22s ease, visibility 0s, transform .35s ease;
	margin: 0 auto;
	padding: 16px 0;
}
.survey-v2-picker-cart-body h2 { align-self: start; margin: 6px 0 0; font-size: 18px; font-weight: 400; white-space: nowrap; }
.survey-v2-picker-cart-list { min-width: 0; max-height: 100%; overflow-y: auto; scrollbar-width: thin; }
.survey-v2-picker-cart-row {
	display: grid;
	grid-template-columns: 1.15fr 1.3fr 1.5fr 22px;
	align-items: center;
	gap: 10px;
	min-height: 34px;
	font-size: 13px;
}
.survey-v2-picker-cart-topic { min-width: 0; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; overflow-wrap: anywhere; cursor: pointer; }
.survey-v2-picker-cart-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.survey-v2-picker-cart-badges span { padding: 0 8px; border: 1px solid #586a7b; border-radius: 20px; font-size: 12px; white-space: nowrap; }
.survey-v2-picker-cart-badges span:first-child { background: #253244; color: #f8f9fa; border-color: #253244; }
.survey-v2-picker-cart-price { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; font-size: 13px; }
.survey-v2-picker-cart-price del { align-self: center; color: #89949f; font-size: 10px; }
.survey-v2-picker-cart-remove { display: grid; place-items: center; padding: 2px; border: 0; background: transparent; color: #586a7b; cursor: pointer; }
.survey-v2-picker-cart-remove img { width: 16px; height: 16px; object-fit: contain; }
.survey-v2-picker-cart-totals { font-size: 13px; }
.survey-v2-picker-cart-totals dl { margin: 0; padding-bottom: 4px; border-bottom: 1px solid #c2c8cd; }
.survey-v2-picker-cart-totals dl > div { display: flex; justify-content: space-between; gap: 10px; }
.survey-v2-picker-cart-totals dt { font-weight: 400; }
.survey-v2-picker-cart-totals dd { margin: 0; }
.survey-v2-picker-cart-totals dl > div:first-child { color: #d45e6d; }
.survey-v2-picker-cart-totals p { margin: 10px 0 0; white-space: nowrap; font-size: 12px; }
.survey-v2-picker-cart-empty { margin: 0; padding: 8px 0; font-size: 13px; }
.survey-v2-picker-checkout { width: 100%; padding: 8px 16px; border: 0; border-radius: 30px; background: #253244; color: #f8f9fa; font: inherit; font-size: 18px; cursor: pointer; }
.survey-v2-picker-checkout:disabled { opacity: .65; }
/* 結帳開發提示需顯示在方案燈箱上方。 */
.survey-v2-result-page .swal2-container { z-index: 2100; }
.survey-v2-picker-cart-announcement { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 1100px) {
	.survey-v2-picker-cart-body { width: 88%; grid-template-columns: .8fr 3.6fr 1.2fr .9fr; gap: 2%; }
	.survey-v2-picker-cart-row { grid-template-columns: 1fr 1.2fr 1.1fr 20px; gap: 6px; font-size: 11px; }
	.survey-v2-picker-cart-badges span { font-size: 10px; padding: 0 5px; }
	.survey-v2-picker-cart-price { font-size: 11px; gap: 3px; }
	.survey-v2-picker-cart-body h2 { font-size: 15px; }
}
@media (max-width: 767px) {
	.survey-v2-plan-picker { align-items: flex-start; --survey-cart-expanded-height: clamp(180px, 28vh, 240px); }
	.survey-v2-picker-cart-body { width: 92%; padding: 10px 0; grid-template-columns: 1fr 100px; grid-template-rows: auto minmax(0, 1fr) auto; gap: 6px 14px; }
	.survey-v2-picker-cart-body h2 { grid-column: 1 / -1; margin: 0; }
	.survey-v2-picker-cart-list { grid-column: 1 / -1; align-self: stretch; }
	.survey-v2-picker-cart-row { grid-template-columns: 1.1fr 1.3fr 1.2fr 20px; }
	.survey-v2-picker-cart-totals dl { display: flex; gap: 18px; border: 0; }
	.survey-v2-picker-cart-totals dl > div { gap: 6px; }
	.survey-v2-picker-cart-totals p { margin-top: 3px; font-size: 10px; }
	.survey-v2-picker-checkout { font-size: 15px; }
}

/* 購物車開合時，燈箱與摘要同步銜接；狀態按鈕左下角依設計裁切。 */
.survey-v2-picker-shell { transition: width .48s cubic-bezier(.22, 1, .36, 1), height .48s cubic-bezier(.22, 1, .36, 1); }
.survey-v2-picker-cart-row.is-removed .survey-v2-picker-cart-badges,
.survey-v2-picker-cart-row.is-removed .survey-v2-picker-cart-price { opacity: .4; }
.survey-v2-picker-cart-topic:hover { text-decoration: underline; text-underline-offset: 3px; }
.survey-v2-picker-cart-topic:focus-visible,
.survey-v2-picker-cart-remove:focus-visible { outline: 1px solid #586a7b; outline-offset: 2px; }
@media (min-width: 768px) {
	.survey-v2-picker-status {
		/* 對齊遮罩 viewBox 1636 × 751 的上方頁籤座標。 */
		left: 78.5715%;
		right: auto;
		top: 2.1305%;
		width: 19.1424%;
		height: 8.6578%;
		clip-path: polygon(0 0, 100% 0, 100% 100%, 16.419% 100%);
		padding-left: 1.6cqw;
	}
	.survey-v2-picker-cart-body { grid-template-columns: 1fr 3.9fr 1fr 1.1fr; gap: 3%; }
	.survey-v2-picker-cart-body h2 { font-size: clamp(18px, 1.3vw, 26px); }
	.survey-v2-picker-cart-row { grid-template-columns: 1.05fr 1.3fr 1.5fr 24px; min-height: clamp(34px, 2.5vw, 46px); font-size: clamp(14px, 1vw, 20px); }
	.survey-v2-picker-cart-badges span { font-size: clamp(12px, .9vw, 17px); }
	.survey-v2-picker-cart-price { font-size: clamp(13px, 1vw, 19px); }
	.survey-v2-picker-cart-price del { font-size: clamp(10px, .8vw, 15px); }
	.survey-v2-picker-cart-totals { font-size: clamp(13px, 1vw, 19px); }
	.survey-v2-picker-cart-totals p { font-size: clamp(12px, .95vw, 18px); }
	.survey-v2-picker-cart-remove img { width: clamp(14px, 1.1vw, 21px); height: clamp(14px, 1.1vw, 21px); }
	.survey-v2-picker-checkout { font-size: clamp(18px, 1.4vw, 27px); }
}
@keyframes survey-v2-pill-drop {
	from { opacity: 0; transform: translate(-50%, -95%) rotate(calc(var(--pill-angle) - 15deg)); }
	to { opacity: 1; transform: translate(-50%, -50%) rotate(var(--pill-angle)); }
}
.survey-v2-picker-pill.is-pill-entering { animation: survey-v2-pill-drop .6s cubic-bezier(.22, 1, .36, 1) var(--pill-delay, 0ms) both; }
@media (prefers-reduced-motion: reduce) {
	.survey-v2-picker-shell,
	.survey-v2-picker-cart,
	.survey-v2-picker-cart-body,
	.survey-v2-picker-cart-toggle svg { transition: none; }
	.survey-v2-picker-pill.is-pill-entering { animation: none; }
}

/* 提示納入週期區塊排版，避免被底部摘要遮住。 */
.survey-v2-picker-periods .survey-v2-picker-message {
	position: static;
	margin: 8px 0 0;
	font-size: clamp(12px, .95vw, 16px);
	font-weight: 400;
	line-height: 1.5;
	text-align: left;
	overflow-wrap: anywhere;
}
.survey-v2-picker-message:empty { display: none; }
.survey-v2-plan-picker button:focus { outline: none; box-shadow: none; }
.survey-v2-plan-picker button:focus-visible { outline: 1px solid #aab7c3; outline-offset: 2px; }
.survey-v2-picker-heading p,
.survey-v2-picker-description,
.survey-v2-picker-periods h3 { font-weight: 400; }

/* 購物車桌面欄位使用獨立間隔，可各自調整，不再共用同一個 gap。 */
@media (min-width: 1200px) {
	.survey-v2-picker-cart-body {
		/* 對齊上方燈箱內側 3% 邊界，內容與各欄間距不再累加整個視窗寬度。 */
		width: calc(var(--survey-picker-width) * .94);
		padding: 10px 0;
		--cart-title-width: 9%;
		--cart-title-list-gap: 3.5%;
		--cart-list-totals-gap: 5%;
		--cart-totals-width: clamp(140px, 9.6vw, 210px);
		--cart-totals-checkout-gap: 4%;
		--cart-checkout-width: clamp(130px, 9.5vw, 180px);
		--cart-topic-width: 25%;
		--cart-topic-badges-gap: 2%;
		--cart-badges-price-gap: 2%;
		--cart-price-remove-gap: 5%;
		grid-template-columns: var(--cart-title-width) var(--cart-title-list-gap) minmax(0, 1fr) var(--cart-list-totals-gap) var(--cart-totals-width) var(--cart-totals-checkout-gap) var(--cart-checkout-width);
		column-gap: 0;
	}
	.survey-v2-picker-cart-body h2 { grid-column: 1; margin-top: 4px; font-size: clamp(18px, 1.1vw, 24px); }
	.survey-v2-picker-cart-list { grid-column: 3; align-self: stretch; }
	.survey-v2-picker-cart-totals { grid-column: 5; font-size: clamp(13px, .9vw, 18px); }
	.survey-v2-picker-cart-totals p { font-size: clamp(11px, .78vw, 16px); }
	/* 桌面標準尺寸 180 × 56，較窄視窗依欄寬等比例縮小。 */
	.survey-v2-picker-checkout { grid-column: 7; padding: 0 12px; aspect-ratio: 180 / 56; min-height: 40px; font-size: clamp(16px, 1.1vw, 24px); }
	.survey-v2-picker-cart-row {
		grid-template-columns: minmax(0, var(--cart-topic-width)) var(--cart-topic-badges-gap) max-content var(--cart-badges-price-gap) minmax(0, 1fr) var(--cart-price-remove-gap) 24px;
		column-gap: 0;
		min-height: clamp(30px, 4vh, 40px);
		font-size: clamp(13px, .9vw, 19px);
	}
	.survey-v2-picker-cart-topic { grid-column: 1; }
	.survey-v2-picker-cart-badges { grid-column: 3; }
	.survey-v2-picker-cart-badges span { font-size: clamp(11px, .75vw, 16px); }
	.survey-v2-picker-cart-price { grid-column: 5; min-width: 0; font-size: clamp(12px, .86vw, 18px); }
	.survey-v2-picker-cart-price del { font-size: clamp(10px, .65vw, 14px); }
	.survey-v2-picker-cart-price > * { white-space: nowrap; }
	.survey-v2-picker-cart-remove { grid-column: 7; }
}
/* 卡片讓位幅度（px）與動畫時間（ms）。 */
.survey-v2-picker-deck {
	--survey-plan-swap-distance: 20px;
	--survey-plan-swap-duration: 600ms;
}

/* 結果頁進場影片：影片實際結束前覆蓋全部畫面。 */
.survey-v2-result-intro {
	position: fixed;
	inset: 0;
	z-index: 2147483647;
	background: #191919;
	display: grid;
	place-items: center;
	outline: none;
}
.survey-v2-result-intro[hidden] { display: none; }
/* 脫離 Grid 的固有尺寸計算，避免影片高度超出視窗而截掉下方進度條。 */
.survey-v2-result-intro-video {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	pointer-events: none;
}
.survey-v2-result-intro-message { position: absolute; bottom: 5%; text-align: center; color: #fff; }
.survey-v2-result-intro-message button { display: block; margin: 12px auto 0; padding: 8px 20px; }
.survey-v2-result-intro-message button[hidden] { display: none; }
.survey-v2-picker-product-link,
a.survey-v2-picker-product-detail { color: inherit; text-decoration: none; }
.survey-v2-picker-product-link { display: block; }
.survey-v2-picker-product-link:focus-visible,
a.survey-v2-picker-product-detail:focus-visible { outline: 2px solid #D45E6D; outline-offset: 3px; }
.survey-v2-picker-cart[hidden] { display: none; }
.survey-v2-plan-picker.has-no-selected-plans { --survey-cart-height: 0px; }

/* 金額試算失敗保留選擇，提供重新計算。 */
.survey-v2-picker-cart-totals .survey-v2-picker-cart-quote-status { white-space: normal; color: #a84452; }
.survey-v2-picker-cart-quote-status button { margin-left: 6px; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }
