body.report-unlock-page {
	min-height: 100vh;
	margin: 0;
	background: #fff;
	color: #30333a;
	font-family: "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
}

body.report-unlock-page::before {
	display: none;
}

.unlock-shell {
	position: relative;
	width: min(100%, 480px);
	min-height: 100vh;
	margin: 0 auto;
	padding: 16px 14px 104px;
	background: #fff;
	box-shadow: 0 0 42px rgba(47, 56, 75, 0.08);
}

.unlock-summary {
	text-align: center;
}

.unlock-pro-tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 34px;
	margin: 0 auto 12px;
	padding: 0 12px 0 6px;
	border: 1px solid #cfe7e3;
	border-radius: 999px;
	background: linear-gradient(180deg, #fff, #f1fbf8);
	box-shadow: 0 10px 26px rgba(23, 111, 132, 0.1);
	color: #157963;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0;
}

.unlock-pro-tag span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 48px;
	height: 24px;
	border-radius: 999px;
	background: #102638;
	color: #fff;
	font-size: 12px;
	font-weight: 900;
	line-height: 1;
}

.complete-line {
	margin: 0 0 4px;
	color: #5c606a;
	font-size: 15px;
	font-weight: 600;
}

.accuracy-line {
	margin: 0 0 14px;
	color: #9a6aa2;
	font-size: 15px;
	font-weight: 700;
}

.score-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
	margin-bottom: 12px;
}

.score-grid article {
	padding: 10px 8px;
	border-radius: 8px;
	border: 1px solid transparent;
	text-align: left;
}

.score-grid article:nth-child(1) {
	background: #f2ecf7;
	border-color: rgba(136, 97, 154, 0.18);
}

.score-grid article:nth-child(2) {
	background: #edf8f3;
	border-color: rgba(51, 164, 116, 0.18);
}

.score-grid article:nth-child(3) {
	background: #eef7fb;
	border-color: rgba(66, 152, 180, 0.18);
}

.score-grid article:nth-child(4) {
	background: #fff8e9;
	border-color: rgba(228, 174, 58, 0.22);
}

.score-grid h2 {
	margin: 0 0 8px;
	color: #535760;
	font-size: 12px;
	font-weight: 700;
}

.score-grid article:nth-child(1) h2 {
	color: #88619a;
}

.score-grid article:nth-child(2) h2 {
	color: #33a474;
}

.score-grid article:nth-child(3) h2 {
	color: #4298b4;
}

.score-grid article:nth-child(4) h2 {
	color: #e4ae3a;
}

.score-grid span {
	display: block;
	color: #666a73;
	font-size: 11px;
	line-height: 1.65;
}

.score-grid b {
	font-weight: 700;
	color: inherit;
}

.score-note {
	margin: 4px 0 28px;
	color: #8b8e96;
	font-size: 10px;
	line-height: 1.45;
	text-align: left;
}

.unlock-summary h1 {
	margin: 0 0 5px;
	color: #33363c;
	font-size: 21px;
	font-weight: 800;
}

.report-id {
	margin: 0 0 12px;
	color: #777b84;
	font-size: 12px;
}

.result-card,
.dimension-card,
.locked-section,
.pay-card,
.unlock-callout {
	margin: 12px 0;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 8px 22px rgba(70, 78, 110, 0.1);
}

.result-card {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 110px;
	gap: 10px;
	overflow: hidden;
	padding: 18px;
	border: 1px solid rgba(140, 97, 166, 0.14);
}

.result-main time {
	display: block;
	margin-bottom: 8px;
	color: #9a9da5;
	font-size: 11px;
}

.result-main p {
	margin: 0 0 8px;
	color: #676b75;
	font-size: 13px;
	line-height: 1.55;
}

.result-main h2 {
	margin: 0;
	color: #8c61a6;
	font-size: 34px;
	font-weight: 900;
	line-height: 1;
}

.result-main h3 {
	margin: 8px 0;
	color: #33363c;
	font-size: 20px;
	font-weight: 700;
}

.result-card img {
	align-self: end;
	width: 108px;
	height: 108px;
	object-fit: contain;
}

.unlock-callout {
	padding: 18px;
	text-align: center;
}

.unlock-callout p {
	margin: 0 0 12px;
	color: #33363c;
	font-size: 16px;
	font-weight: 700;
}

.unlock-callout a,
.pay-card button,
.unlock-footer a {
	display: flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(90deg, #ff7b42, #f02686);
	color: #fff;
	font-size: 16px;
	font-weight: 800;
	text-decoration: none;
}

.unlock-callout a {
	width: min(100%, 260px);
	height: 46px;
	margin: 0 auto 10px;
}

.unlock-callout span {
	color: #999da7;
	font-size: 12px;
}

.dimension-card {
	padding: 18px;
}

.dimension-card article {
	position: relative;
	display: grid;
	grid-template-columns: 68px 1fr 68px;
	gap: 8px;
	align-items: center;
	margin-bottom: 16px;
	color: #555963;
	font-size: 13px;
}

.dimension-card b {
	height: 10px;
	border-radius: 999px;
	background: linear-gradient(90deg, #8c61a6, #25aa83);
}

.dimension-card strong {
	position: absolute;
	left: 50%;
	top: 50%;
	color: #fff;
	font-size: 10px;
	transform: translate(-50%, -50%);
}

.dimension-card em {
	font-style: normal;
	text-align: right;
}

.locked-section {
	position: relative;
	overflow: hidden;
	padding: 20px 18px 88px;
}

.part-label {
	display: inline-flex;
	margin-bottom: 8px;
	padding: 3px 8px;
	border-radius: 999px;
	background: #eef1ff;
	color: #6d7fe5;
	font-size: 11px;
	font-weight: 800;
}

.locked-section h2 {
	margin: 0 0 14px;
	color: #33363c;
	font-size: 20px;
	font-weight: 800;
}

.locked-section p {
	margin: 0;
	color: #5d626d;
	font-size: 14px;
	line-height: 1.85;
	filter: blur(2px);
}

.trait-grid {
	display: grid;
	gap: 10px;
	filter: blur(2px);
}

.trait-grid article {
	padding: 12px;
	border-radius: 10px;
	background: #f7f8ff;
}

.trait-grid b {
	color: #8c61a6;
	font-size: 15px;
}

.trait-grid p {
	filter: none;
}

.ratio-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	filter: blur(2px);
}

.ratio-grid article {
	padding: 16px 8px;
	border-radius: 10px;
	background: #f7f8ff;
	text-align: center;
}

.ratio-grid strong {
	display: block;
	color: #8c61a6;
	font-size: 22px;
}

.ratio-grid span {
	color: #686d77;
	font-size: 11px;
}

.famous-grid {
	display: grid;
	gap: 10px;
	filter: blur(2px);
}

.famous-grid article {
	display: grid;
	grid-template-columns: 72px 1fr;
	gap: 12px;
	align-items: start;
	padding: 12px;
	border-radius: 10px;
	background: #f7f8ff;
}

.famous-grid img,
.famous-avatar-placeholder {
	width: 72px;
	height: 72px;
	border-radius: 10px;
	object-fit: cover;
	background: #e8ebf7;
}

.famous-avatar-placeholder {
	display: block;
	background: linear-gradient(135deg, #e2e6f3, #f7f8ff);
}

.famous-grid--placeholder {
	filter: none;
}

.famous-copy {
	min-width: 0;
}

.famous-grid strong {
	display: block;
	margin-bottom: 4px;
	color: #33363c;
	font-size: 16px;
}

.famous-grid em {
	display: block;
	margin-bottom: 6px;
	color: #8c61a6;
	font-size: 12px;
	font-style: normal;
}

.famous-grid p {
	filter: none;
}

.lock-mask {
	position: absolute;
	left: 50%;
	top: 50%;
	display: grid;
	gap: 4px;
	width: min(76%, 280px);
	padding: 14px 16px;
	border-radius: 8px;
	background: linear-gradient(90deg, #ff7a45, #f02686);
	color: #fff;
	text-align: center;
	box-shadow: 0 10px 22px rgba(220, 58, 103, 0.26);
	transform: translate(-50%, -50%);
}

.lock-mask strong {
	font-size: 13px;
}

.lock-mask span {
	font-size: 11px;
}

.report-unlock-page .preview-header,
.report-unlock-page .preview-key-grid,
.report-unlock-page .preview-section {
	margin: 12px 0;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 8px 22px rgba(70, 78, 110, 0.1);
}

.report-unlock-page .preview-header {
	padding: 18px;
	border: 1px solid rgba(140, 97, 166, 0.12);
	background: linear-gradient(180deg, #fff, #fbf8ff);
}

.report-unlock-page .preview-header p {
	margin: 0 0 8px;
	color: #8c61a6;
	font-size: 12px;
	font-weight: 800;
}

.report-unlock-page .preview-header h2 {
	margin: 0;
	color: #272b33;
	font-size: 20px;
	font-weight: 900;
	line-height: 1.35;
}

.report-unlock-page .preview-key-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
	padding: 12px;
}

.report-unlock-page .preview-key-grid article {
	padding: 12px;
	border-radius: 12px;
	background: #f7f8ff;
}

.report-unlock-page .preview-key-grid b {
	display: block;
	margin-bottom: 5px;
	color: #7c8290;
	font-size: 11px;
}

.report-unlock-page .preview-key-grid strong {
	color: #343944;
	font-size: 16px;
	font-weight: 900;
}

.report-unlock-page .preview-section {
	position: relative;
	overflow: hidden;
	padding: 20px 18px 94px;
	border: 1px solid rgba(63, 70, 93, 0.06);
}

.report-unlock-page .preview-section h2 {
	margin: 0 0 10px;
	color: #2f333b;
	font-size: 20px;
	font-weight: 900;
	line-height: 1.32;
}

.report-unlock-page .preview-intro {
	margin: 0 0 14px;
	color: #676d78;
	font-size: 13px;
	line-height: 1.7;
}

.report-unlock-page .preview-locked-content {
	filter: blur(2px);
	user-select: none;
	pointer-events: none;
}

.report-unlock-page .preview-section .dimension-card {
	margin: 0;
	padding: 0;
	box-shadow: none;
	border-radius: 0;
	background: transparent;
}

.report-unlock-page .preview-section .dimension-card article:last-child {
	margin-bottom: 0;
}

.report-unlock-page .function-preview-grid,
.report-unlock-page .career-preview-grid,
.report-unlock-page .love-preview-grid,
.report-unlock-page .stress-preview-grid {
	display: grid;
	gap: 10px;
}

.report-unlock-page .function-preview-grid article,
.report-unlock-page .career-preview-grid article,
.report-unlock-page .love-preview-grid article,
.report-unlock-page .stress-preview-grid article,
.report-unlock-page .story-preview-card,
.report-unlock-page .list-preview-card {
	padding: 13px;
	border-radius: 12px;
	background: #f7f8ff;
}

.report-unlock-page .function-preview-grid strong,
.report-unlock-page .career-preview-grid strong,
.report-unlock-page .love-preview-grid strong {
	display: block;
	color: #8c61a6;
	font-size: 18px;
	font-weight: 900;
}

.report-unlock-page .function-preview-grid span,
.report-unlock-page .career-preview-grid b,
.report-unlock-page .love-preview-grid b {
	display: block;
	margin-bottom: 6px;
	color: #565c68;
	font-size: 13px;
	font-weight: 800;
}

.report-unlock-page .function-preview-grid b {
	display: block;
	height: 8px;
	margin: 8px 0;
	border-radius: 999px;
	background: #e6e9f5;
}

.report-unlock-page .function-preview-grid i {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, #8c61a6, #25aa83);
}

.report-unlock-page .function-preview-grid p,
.report-unlock-page .career-preview-grid p,
.report-unlock-page .stress-preview-grid p,
.report-unlock-page .story-preview-card p,
.report-unlock-page .list-preview-card li {
	margin: 0;
	color: #676d78;
	font-size: 13px;
	line-height: 1.65;
}

.report-unlock-page .story-preview-card h3,
.report-unlock-page .list-preview-card h3,
.report-unlock-page .stress-preview-grid h3 {
	margin: 0 0 8px;
	color: #333842;
	font-size: 15px;
	font-weight: 900;
}

.report-unlock-page .list-preview-card ul {
	margin: 0;
	padding-left: 18px;
}

.report-unlock-page .love-preview-grid {
	grid-template-columns: repeat(3, 1fr);
}

.report-unlock-page .love-preview-grid article {
	text-align: center;
}

.report-unlock-page .love-preview-grid strong {
	font-size: 13px;
}

.report-unlock-page .share-card-preview {
	display: grid;
	grid-template-columns: 1fr 96px;
	gap: 14px;
	align-items: center;
	padding: 16px;
	border-radius: 18px;
	background: linear-gradient(135deg, #f4ecff, #fff7ec);
}

.report-unlock-page .share-card-preview span {
	display: inline-flex;
	margin-bottom: 8px;
	padding: 3px 8px;
	border-radius: 999px;
	background: rgba(255,255,255,0.7);
	color: #8c61a6;
	font-size: 11px;
	font-weight: 800;
}

.report-unlock-page .share-card-preview strong {
	display: block;
	color: #2f333b;
	font-size: 28px;
	font-weight: 900;
}

.report-unlock-page .share-card-preview p {
	margin: 8px 0 0;
	color: #626976;
	font-size: 12px;
}

.report-unlock-page .share-card-preview img,
.report-unlock-page .share-card-preview-avatar {
    width: 96px;
    height: 112px;
}

.report-unlock-page .share-card-preview img {
    object-fit: contain;
}

.report-unlock-page .share-card-preview-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 26px;
    background: linear-gradient(145deg, #f1e9ff, #f7fbff 58%, #fff4df);
    color: #8c61a6;
    font-size: 19px;
    font-weight: 900;
    letter-spacing: .08em;
    box-shadow: inset 0 0 0 1px rgba(140, 97, 166, .13), 0 14px 28px rgba(91, 73, 123, .14);
}

.pay-card {
	padding: 18px;
	text-align: center;
}

.pay-card div {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 12px;
	margin-bottom: 8px;
}

.pay-card strong {
	color: #ff7a45;
	font-size: 20px;
}

.pay-card span,
.pay-card p {
	color: #8b8f99;
	font-size: 13px;
}

.pay-card p {
	margin: 0 0 14px;
}

.pay-card button {
	width: 100%;
	height: 50px;
}

body.package-modal-open {
	overflow: hidden;
}

.package-modal {
	position: fixed;
	inset: 0;
	z-index: 40;
}

.package-modal.is-hidden {
	display: none;
}

.package-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(13, 23, 28, 0.34);
}

.package-modal__panel {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	max-height: min(84vh, 760px);
	overflow: auto;
	padding: 20px 12px 24px;
	border-radius: 24px 24px 0 0;
	background: #fff;
	box-shadow: 0 -10px 40px rgba(33, 43, 57, 0.22);
}

.package-modal__close {
	position: absolute;
	right: 14px;
	top: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: transparent;
	box-shadow: none;
	cursor: pointer;
	z-index: 6;
	pointer-events: auto;
}

.package-modal__close::before,
.package-modal__close::after {
	content: "";
	position: absolute;
	width: 14px;
	height: 1.75px;
	border-radius: 999px;
	background: #737987;
}

.package-modal__close::before {
	transform: rotate(45deg);
}

.package-modal__close::after {
	transform: rotate(-45deg);
}

.package-modal__close:focus-visible {
	outline: 2px solid rgba(22, 163, 74, 0.28);
	outline-offset: 2px;
}

.package-modal__countdown {
	margin: 12px 0 6px;
	padding: 0;
	text-align: center;
	color: #20242c;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.45;
}

.package-modal__countdown strong {
	color: #ff4d4f;
	font-size: 20px;
	font-weight: 900;
}

.package-modal__subtitle {
	margin: 0 0 18px;
	text-align: center;
	color: #666b74;
	font-size: 14px;
	line-height: 1.5;
}

.package-modal__subtitle span {
	color: #ff4d4f;
	font-weight: 700;
}

.package-plan-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 6px;
	margin-bottom: 16px;
}

.package-plan-card {
	position: relative;
	padding: 14px 7px 12px;
	border: 1px solid #eceef2;
	border-radius: 16px;
	background: #fff;
	text-align: center;
	cursor: pointer;
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.package-plan-card--active {
	border-color: #ffbf40;
	background: #fff5d8;
	box-shadow: 0 10px 20px rgba(255, 191, 64, 0.18);
	transform: translateY(-2px);
}

.package-plan-card:focus-visible {
	outline: 2px solid rgba(255, 143, 43, 0.35);
	outline-offset: 2px;
}

.package-plan-card--featured {
	background: #fff9ea;
}

.package-plan-card__badge {
	position: absolute;
	left: 50%;
	top: -10px;
	padding: 3px 8px;
	border-radius: 999px;
	background: linear-gradient(90deg, #ff8f2b, #ff5e43);
	color: #fff;
	font-size: 10px;
	font-weight: 800;
	transform: translateX(-50%);
	white-space: nowrap;
}

.package-plan-card__title {
	margin: 0 0 8px;
	color: #33363c;
	font-size: 13px;
	font-weight: 700;
}

.package-plan-card__price {
	margin: 0;
	color: #ff6b3d;
	font-size: 24px;
	font-weight: 900;
	line-height: 1;
}

.package-plan-card__origin {
	margin: 6px 0;
	color: #a2a6ae;
	font-size: 12px;
	text-decoration: line-through;
}

.package-plan-card__desc {
	margin: 0;
	color: #6b717c;
	font-size: 11px;
	line-height: 1.45;
}

.package-modal__cta {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 52px;
	border: 0;
	border-radius: 999px;
	background: #25c56b;
	color: #fff;
	font-size: 18px;
	font-weight: 800;
	animation: package-cta-pulse 0.78s ease-in-out infinite;
	transform-origin: center;
}

@keyframes package-cta-pulse {
	0%,
	100% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.045);
	}
}

.package-modal__unlock-count {
	margin: 10px 0 18px;
	text-align: center;
	color: #8f949d;
	font-size: 12px;
}

.package-benefits h3 {
	margin: 0 0 12px;
	color: #8c61a6;
	font-size: 16px;
	font-weight: 800;
	text-align: center;
}

.package-benefits__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
}

.package-benefits__grid ul {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.package-benefits__grid li {
	position: relative;
	min-height: 34px;
	margin: 0;
	padding: 8px 8px 8px 28px;
	border: 1px solid #eef0f4;
	border-radius: 10px;
	background: #fbfcff;
	color: #5b616d;
	font-size: 12px;
	line-height: 1.35;
	transition: color 0.18s ease, opacity 0.18s ease, text-decoration-color 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}

.package-benefits__grid li.is-disabled {
	border-color: #f0f2f5;
	background: #f8f9fb;
	color: #b8bec8;
	text-decoration: line-through;
	text-decoration-thickness: 1.5px;
	text-decoration-color: #c7ccd4;
}

.package-benefits__grid li::before {
	content: '✓';
	position: absolute;
	left: 8px;
	top: 9px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #ffe8a5;
	color: #b27b00;
	font-size: 11px;
	font-weight: 900;
	line-height: 14px;
	text-align: center;
}

.package-benefits__grid li.is-disabled::before {
	background: #eef1f5;
	color: #b8bec8;
}

.package-trust {
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid #f0f1f3;
	text-align: center;
}

.package-trust__badges {
	display: flex;
	justify-content: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 8px;
}

.package-trust__item {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	color: #4f9b55;
	font-weight: 700;
}

.package-trust__item::before {
	display: inline-grid;
	place-items: center;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #e8f7ec;
	color: #4f9b55;
	font-size: 11px;
	line-height: 1;
	flex: 0 0 auto;
}

.package-trust__item--verified::before {
	content: '✓';
}

.package-trust__item--trade::before {
	content: '¥';
	font-size: 10px;
	font-weight: 900;
}

.package-trust__item--safe::before {
	content: '盾';
	width: 18px;
	height: 18px;
	font-size: 9px;
}

.package-trust__badges span {
	padding: 6px 9px;
	border-radius: 999px;
	background: #f3fbf4;
	font-size: 11px;
}

.package-trust p {
	justify-content: center;
	margin: 0;
	font-size: 12px;
}

.unlock-footer {
	position: fixed;
	left: 50%;
	bottom: 12px;
	z-index: 12;
	width: min(100%, 480px);
	padding: 8px 14px max(8px, env(safe-area-inset-bottom));
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 -8px 20px rgba(50, 56, 80, 0.1);
	transform: translateX(-50%);
}

.unlock-footer::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -12px;
	height: 12px;
	background: rgba(255, 255, 255, 0.94);
	pointer-events: none;
}

.unlock-footer a {
	min-height: 62px;
	font-size: 18px;
	animation: unlock-cta-pulse 0.82s ease-in-out infinite;
	transform-origin: center;
}

.professional-unlock-page .unlock-footer a {
	background: linear-gradient(90deg, #176f84, #18a37a);
	font-size: 17px;
}

.unlock-direct-payment-status {
	margin: 6px 0 0;
	color: #168067;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
}

.unlock-direct-payment-status.is-error {
	color: #d14a38;
}

.unlock-direct-native-qr {
	position: fixed;
	inset: 0;
	z-index: 80;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(17, 32, 42, 0.48);
	backdrop-filter: blur(8px);
}

.unlock-direct-native-qr>div {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	width: min(100%, 280px);
	padding: 18px;
	border: 1px solid #dce7dd;
	border-radius: 22px;
	background: #f8fffb;
	box-shadow: 0 20px 58px rgba(17, 60, 50, 0.22);
	text-align: center;
}

.unlock-direct-native-qr img {
	width: 210px;
	height: 210px;
	border: 1px solid #eef2ef;
	border-radius: 12px;
	background: #fff;
	object-fit: contain;
}

.unlock-direct-native-qr strong {
	color: #123f2a;
	font-size: 16px;
}

.unlock-direct-native-qr span {
	color: #5e7569;
	font-size: 13px;
}

@keyframes unlock-cta-pulse {
	0%,
	100% {
		transform: scale(1);
	}

	50% {
		transform: scale(1.045);
	}
}

.unlock-complaint {
	top: 50%;
}

.report-full-page .locked-section p,
.report-full-page .trait-grid,
.report-full-page .ratio-grid,
.report-full-page .famous-grid {
	filter: none;
}

.report-full-page .locked-section {
	padding-bottom: 20px;
}

.report-full-page .result-card,
.report-full-page .dimension-card,
.report-full-page .locked-section {
	box-shadow: 0 10px 28px rgba(70, 78, 110, 0.08);
}

.report-full-page .unlock-summary {
	padding-bottom: 0;
}

.report-full-page .result-main p,
.report-full-page .famous-grid p {
	color: #5d626d;
}

@media (max-width: 380px) {
	.unlock-shell {
		padding-left: 10px;
		padding-right: 10px;
	}

	.result-card {
		grid-template-columns: 1fr 88px;
	}

	.result-card img {
		width: 88px;
		height: 88px;
	}

	.result-main h2 {
		font-size: 30px;
	}

	.package-modal__panel {
		padding-left: 10px;
		padding-right: 10px;
	}

	.package-plan-grid {
		gap: 5px;
	}

	.package-plan-card {
		padding-left: 6px;
		padding-right: 6px;
	}
}


/* Runtime payment flow */
.payment-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.payment-method{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:0;background:transparent;border-radius:0;padding:10px 4px;text-align:center;color:#30333a}.payment-method span{position:relative;display:block;width:16px;height:16px;border:1.5px solid #cbd5e1;border-radius:50%;background:#fff;flex:0 0 auto}.payment-method span::after{content:'';position:absolute;inset:3px;border-radius:50%;background:#19b46b;opacity:0;transform:scale(.55);transition:opacity .16s ease,transform .16s ease}.payment-method strong{display:block;font-size:14px;font-weight:700}.payment-method.is-active{color:#19b46b}.payment-method.is-active span{border-color:#19b46b}.payment-method.is-active span::after{opacity:1;transform:scale(1)}.package-modal__status{min-height:18px;margin:8px 0 0;text-align:center;font-size:13px;color:#17a05d}.package-modal__status.is-error{color:#dc2626}.package-modal__cta:disabled{opacity:.65;cursor:not-allowed}.package-modal__close{box-shadow:none}

.package-payment-status{min-height:18px;margin:8px 0 0;text-align:center;font-size:12px;color:#16a34a}.package-payment-status.is-error{color:#dc2626}

/* mini-test inspired multi-step package / retention flow */
.package-close-sheet {
	position: absolute;
	top: 52px;
	right: 14px;
	z-index: 7;
	width: 142px;
	overflow: hidden;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 12px 32px rgba(21, 26, 38, 0.18);
}

.package-close-sheet.is-hidden {
	display: none;
}

.package-close-sheet__item {
	display: block;
	width: 100%;
	height: 46px;
	border: 0;
	border-bottom: 1px solid #f0f1f4;
	background: #fff;
	color: #323742;
	font-size: 14px;
	font-weight: 700;
	text-align: center;
}

.package-close-sheet__item:last-child {
	border-bottom: 0;
}

.package-close-sheet__item--danger {
	color: #ff3b30;
}

.retention-modal {
	position: fixed;
	inset: 0;
	z-index: 80;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.retention-modal.is-hidden {
	display: none;
}

.retention-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(13, 23, 28, 0.48);
}

.retention-modal__card {
	position: relative;
	z-index: 1;
	width: min(100%, 336px);
	padding: 28px 24px 24px;
	border-radius: 28px;
	text-align: center;
	box-shadow: 0 20px 60px rgba(42, 24, 8, 0.28);
}

.retention-modal__card--one {
	background: linear-gradient(180deg, #fff7df 0%, #fff 62%);
	border: 2px solid #ffe2a7;
}

.retention-modal__card--two {
	background: radial-gradient(circle at 50% 0%, #fff2b8 0%, #ff5953 42%, #d7192f 100%);
	color: #fff;
	border: 2px solid rgba(255, 225, 147, 0.88);
}

.retention-modal__x {
	position: absolute;
	right: 14px;
	top: 14px;
	width: 30px;
	height: 30px;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.82);
}

.retention-modal__x::before,
.retention-modal__x::after {
	content: "";
	position: absolute;
	left: 8px;
	top: 14px;
	width: 14px;
	height: 2px;
	border-radius: 999px;
	background: #7a4a17;
}

.retention-modal__x::before { transform: rotate(45deg); }
.retention-modal__x::after { transform: rotate(-45deg); }

.retention-modal__kicker {
	margin: 0 0 10px;
	font-size: 23px;
	font-weight: 900;
	letter-spacing: 0.02em;
}

.retention-modal__card--one .retention-modal__kicker {
	color: #7a3d00;
}

.retention-modal__money {
	display: inline-flex;
	align-items: flex-end;
	justify-content: center;
	min-width: 156px;
	margin: 4px auto 10px;
	padding: 8px 18px;
	border-radius: 18px;
	background: linear-gradient(180deg, #ffefb2, #ffbf42);
	color: #d7192f;
	box-shadow: inset 0 -3px 0 rgba(179, 88, 0, 0.16);
}

.retention-modal__money strong {
	font-size: 48px;
	font-weight: 900;
	line-height: 1;
}

.retention-modal__money span {
	margin: 0 0 5px 4px;
	font-size: 18px;
	font-weight: 800;
}

.retention-modal__desc {
	margin: 0 0 16px;
	font-size: 15px;
	font-weight: 700;
}

.retention-modal__card--one .retention-modal__desc {
	color: #a86b12;
}

.retention-modal__desc em {
	font-style: normal;
	color: #fff7ad;
}

.retention-modal__timer {
	margin: 0 0 16px;
	color: #7d8490;
	font-size: 13px;
}

.retention-modal__timer strong {
	display: inline-block;
	padding: 3px 7px;
	border-radius: 8px;
	background: #fff0e2;
	color: #ff3b30;
	font-size: 15px;
}

.retention-modal__button {
	width: 100%;
	height: 50px;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(90deg, #ff8a1d, #ff3f2e);
	color: #fff;
	font-size: 17px;
	font-weight: 900;
	box-shadow: 0 10px 20px rgba(255, 79, 38, 0.26);
}

.retention-modal__card--two .retention-modal__button {
	background: linear-gradient(90deg, #ffe9a4, #ffc13b);
	color: #b8151d;
	box-shadow: 0 10px 20px rgba(102, 0, 0, 0.2);
}

.retention-modal__link {
	margin-top: 13px;
	border: 0;
	background: transparent;
	color: rgba(60, 65, 75, 0.72);
	font-size: 13px;
	font-weight: 700;
}

.retention-modal__card--two .retention-modal__link {
	color: rgba(255, 255, 255, 0.86);
}

/* 2026-05-11: mini-program inspired package modal refresh, coupon blocks removed */
.pay-card{display:none!important}
.retention-modal.is-hidden{display:none!important}
.package-close-sheet.is-hidden{display:none!important}
.package-modal{z-index:60}.package-modal__backdrop{background:rgba(0,0,0,.42)}
.package-modal__panel{right:auto;width:min(100%,480px);max-height:86vh;padding:24px 20px 28px;border-radius:32px 32px 0 0;box-shadow:0 -20px 80px rgba(33,43,57,.18)}
.package-modal__close{right:16px;top:14px;width:36px;height:36px;border:0;background:transparent;box-shadow:none;z-index:8;pointer-events:auto}.package-modal__close::before,.package-modal__close::after{width:16px;height:2px}
.package-modal__countdown{margin:14px 0 6px;padding:0 40px;text-align:center;color:#20242c;font-size:20px;font-weight:800;line-height:1.45}.package-modal__countdown strong{color:#ff4d4f;font-size:34px;font-weight:900}
.package-modal__subtitle{margin:0 0 22px;color:#666b74;font-size:15px}.package-modal__subtitle span{color:#ff4d4f;font-weight:800}
.package-plan-grid{gap:9px;margin-bottom:18px}.package-plan-card{min-height:120px;padding:18px 9px 14px;border:1px solid #eceef2;border-radius:20px;background:#fff}.package-plan-card--featured{background:#fff9ea}.package-plan-card--active{border-color:#ffbf40;background:#fff5d8;box-shadow:0 12px 28px rgba(255,191,64,.2);transform:translateY(-3px)}
.package-plan-card__badge{top:-12px;padding:4px 9px;background:linear-gradient(90deg,#ff8f2b,#ff5e43);font-size:10px}.package-plan-card__title{margin-bottom:10px;font-size:14px}.package-plan-card__price{color:#ff6b3d;font-size:26px}.package-plan-card__origin{margin:8px 0 0;font-size:12px}.package-plan-card__desc{display:none}
.payment-methods{margin:12px 0 10px}.payment-method.is-active{border-color:#19b46b;background:#f0fff7;box-shadow:0 0 0 2px rgba(25,180,107,.12)}
.package-modal__cta{height:56px;border-radius:999px;background:#25c56b;font-size:19px;font-weight:900}.package-modal__unlock-count{margin:12px 0 20px;color:#8f949d;font-size:13px}
.package-benefits h3{margin-bottom:14px;color:#8c61a6;font-size:17px}.package-benefits__grid{gap:16px}.package-benefits__grid li{margin-bottom:10px;padding-left:22px;font-size:13px}.package-benefits__grid li::before{width:16px;height:16px;background:#ffe8a5;color:#b27b00;font-size:12px;line-height:16px}.package-trust{margin-top:20px;padding-top:14px}
@media(max-width:380px){.package-modal__panel{padding-left:16px;padding-right:16px}.package-modal__countdown{font-size:18px}.package-modal__countdown strong{font-size:30px}.package-plan-card{min-height:112px;padding-left:6px;padding-right:6px}.package-plan-card__price{font-size:23px}.package-benefits__grid li{font-size:12px}}

/* 2026-05-17: refine package plan copy and benefit list layout */
.package-modal__close{border:0;background:transparent}
.package-plan-grid{gap:10px;margin-bottom:18px}
.package-plan-card{display:flex;min-height:162px;flex-direction:column;align-items:center;justify-content:flex-start;padding:22px 8px 14px;border-radius:18px}
.package-plan-card--active{border-color:#f8e8b3;background:#fffcf2;box-shadow:0 6px 14px rgba(255,191,64,.08)}
.package-plan-card__title{margin-bottom:10px;color:#6c3f04;font-size:15px;font-weight:800;line-height:1.15}
.package-plan-card__price{display:inline-block;font-size:25px;line-height:1}
.package-plan-card__origin{display:inline-block;margin:0 0 10px 4px;font-size:13px}
.package-plan-card__desc{display:block;width:100%;margin-top:2px;color:#8a8f98;font-size:12px;font-weight:400;line-height:1.18;text-align:center;word-break:break-all;overflow-wrap:anywhere}
.package-plan-card[data-package-plan="result"] .package-plan-card__desc{max-width:5em}
.package-plan-card[data-package-plan="full"] .package-plan-card__desc{max-width:100%}
.package-plan-card[data-package-plan="pro"] .package-plan-card__desc{max-width:100%}
.package-benefits h3{display:flex;flex-wrap:wrap;justify-content:center;gap:0 6px;margin:0 0 16px;font-size:14px;font-weight:800;line-height:1.3}
.package-benefits h3 span{color:#7c3aed}
.package-benefits h3 em{color:#e08a00;font-style:normal}
.package-benefits__grid{display:grid;grid-template-columns:repeat(2,max-content);justify-content:center;gap:6px 62px;align-items:start;width:max-content;max-width:100%;margin:0 auto}
.package-benefits__grid ul{display:grid;gap:8px}
.package-benefits__grid li{min-height:0;margin:0;padding:0 0 0 24px;border:0;border-radius:0;background:transparent;color:#5f6670;font-size:12px;font-weight:400;line-height:1.25}
.package-benefits__grid li::before{left:0;top:1px;width:16px;height:16px;background:#f8dfac;color:#fff;font-size:12px;line-height:16px;box-shadow:0 1px 3px rgba(199,139,24,.16)}
.package-benefits__grid li.is-disabled{border:0;background:transparent;color:#b9bec7;opacity:.55}
.package-benefits__wide{grid-column:1/-1}
.package-benefits__wide li{display:inline-block}
@media(max-width:380px){.package-plan-card{min-height:152px;padding-left:6px;padding-right:6px}.package-plan-card__title{font-size:15px}.package-plan-card__price{font-size:22px}.package-plan-card__desc{font-size:11px}.package-benefits__grid{gap:6px 12px}.package-benefits__grid li{font-size:12px;padding-left:22px}}

/* 2026-05-17: wider package cards and one-line prices */
.package-plan-grid{margin-left:-8px;margin-right:-8px;gap:8px}
.package-plan-card{padding-left:7px;padding-right:7px}
.package-plan-card__price-row{display:flex;align-items:baseline;justify-content:center;gap:4px;width:100%;margin:0 0 10px;white-space:nowrap}
.package-plan-card__price{display:block;margin:0;font-size:20px;line-height:1}
.package-plan-card__origin{display:block;margin:0;color:#8f949d;font-size:12px;line-height:1;text-decoration:line-through}
@media(max-width:380px){.package-plan-grid{margin-left:-6px;margin-right:-6px;gap:6px}.package-plan-card__title{font-size:14px}.package-plan-card__price{font-size:19px}.package-plan-card__origin{font-size:11px}}

/* 2026-05-17: lower package primary payment button */
.package-modal__cta{margin-top:30px}

/* 2026-05-17: smaller package countdown copy */
.package-modal__countdown{font-size:16px}
.package-modal__countdown strong{font-size:22px}
.package-modal__subtitle{font-size:13px;font-weight:400}
.package-modal__subtitle span{font-weight:400}

/* 2026-05-17: lift unlock count and benefits slightly */
.package-payment-status{min-height:12px;margin-top:4px}
.package-modal__unlock-count{margin:6px 0 12px}
.package-trust{margin-top:14px;padding-top:12px;border-top:0}

/* 2026-05-18: PC right-floating auto payment modal */
#package-native-qr{margin-top:10px!important}
@media (min-width:900px) {
  body.pc-auto-payment.package-modal-open{overflow:auto}
  body.pc-auto-payment .package-modal{pointer-events:none;z-index:80}
  body.pc-auto-payment .package-modal.is-hidden{display:block}
  body.pc-auto-payment .package-modal__backdrop{background:transparent;pointer-events:none}
  body.pc-auto-payment .package-modal__panel{left:auto;right:40px;top:50%;bottom:auto;transform:translateY(-50%);width:430px;max-height:calc(100vh - 48px);padding:22px 20px 24px;border-radius:28px;background:#fff;box-shadow:none!important;pointer-events:auto}
  body.pc-auto-payment .package-modal__close{display:none}
  body.pc-auto-payment .package-modal__countdown{margin-top:4px}
  body.pc-auto-payment .package-plan-card{min-height:142px}
  body.pc-auto-payment .package-payment-status{margin-top:8px;font-size:13px}
  body.pc-auto-payment .package-modal__cta{display:none!important}
}

/* 2026-05-19: make selected package background slightly browner */
.package-plan-card--active{border-color:#e3b268;background:#fff0d8;box-shadow:0 6px 14px rgba(130,82,18,.12)}
.package-plan-card--featured:not(.package-plan-card--active){background:#fff;}

/* 2026-05-20: copy mini-test oneDiscountedPrice retention modal style */
.retention-modal__card--one{width:289px;height:373px;padding:0;border:0;border-radius:0;background-image:url("https://img-1324962496.cos.ap-nanjing.myqcloud.com/2025102801.png");background-repeat:no-repeat;background-size:100% 100%;background-color:transparent;box-shadow:none;overflow:visible;color:#eb3d3b}
.retention-modal__card--one::before,.retention-modal__card--one::after{display:none!important;content:none!important}
.retention-modal__x{position:absolute;top:-27.5px;right:-11.5px;width:23.5px;height:23.5px;padding:0;border:0;background-image:url("https://img-1324962496.cos.ap-nanjing.myqcloud.com/2025102802.png");background-repeat:no-repeat;background-size:100% 100%;background-color:transparent;z-index:3}
.retention-modal__x::before,.retention-modal__x::after{display:none!important;content:none!important}
.retention-modal__card--one .retention-modal__kicker{margin:30px 0 0 92px;color:#eb3d3b;font-family:"PingFang SC",Inter,sans-serif;font-size:18px;font-weight:700;line-height:1.25;text-align:left;text-shadow:none;letter-spacing:0}
.retention-modal__money{display:flex;align-items:flex-end;justify-content:flex-start;min-width:0;margin:24px 0 0 92px;padding:0;border:0;background:transparent;color:#eb3d3b;box-shadow:none}
.retention-modal__money strong{height:62px;color:#eb3d3b;font-family:Inter,"PingFang SC",sans-serif;font-size:52px;font-weight:700;line-height:62px}
.retention-modal__money span{display:flex;align-items:flex-end;height:62px;margin:0 0 8px 5px;color:#eb3d3b;font-family:Inter,"PingFang SC",sans-serif;font-size:20px;font-weight:700;line-height:24px;white-space:nowrap}
.retention-modal__card--one .retention-modal__desc{display:none!important}
.retention-modal__timer{display:flex;flex-direction:column;align-items:center;gap:7px;margin:55px 0 0;padding:0;border:0;background:transparent;color:#f2e8d9;font-family:"PingFang SC",Inter,sans-serif;font-weight:400}
.retention-modal__timer-title{height:20px;color:#f2e8d9;font-size:14px;line-height:20px}
.retention-modal__timer-row{display:flex;align-items:center;justify-content:center;color:#f2e8d9;font-size:12px;line-height:20px}
.retention-modal__countdown-cell{display:flex;align-items:center;justify-content:center;width:28px;height:20px;border-radius:3px;background:#cc4d47;color:#f2e8d9;font-family:Inter,"PingFang SC",sans-serif;font-size:12px;font-weight:400;line-height:20px}
.retention-modal__countdown-separator{display:inline-flex;align-items:center;justify-content:center;width:12px;height:20px;color:#f2e8d9;font-size:12px;line-height:20px}
.retention-modal__timer-suffix{margin-left:3px;color:#f2e8d9;font-size:12px;line-height:20px}
.retention-modal__card--one .retention-modal__button{display:flex;align-items:center;justify-content:center;width:227.5px;height:51px;margin:20px 0 0 33px;padding:0;border:0;background-image:url("https://img-1324962496.cos.ap-nanjing.myqcloud.com/2025102803.png");background-repeat:no-repeat;background-size:100% 100%;background-color:transparent;color:#652800;font-family:"PingFang SC",Inter,sans-serif;font-size:18px;font-weight:700;line-height:21px;box-shadow:none;animation:redAnimation 1s linear infinite alternate}
.retention-modal__card--one .retention-modal__link{display:block;margin:16px auto 0;padding:0;border:0;background:transparent;color:#ffdea8;font-family:"PingFang SC",Inter,sans-serif;font-size:14px;font-weight:700;line-height:17px;text-align:center}

/* 2026-05-18: PC payment modal owns the payment entry; hide duplicate unlock CTAs */
@media (min-width:900px) {
  body.pc-auto-payment [data-open-package-modal]{display:none!important}
}
