/**
 * PLUMIER — full identity card + reveal.
 * Loaded on the quiz template alongside quiz.css.
 */

/* Generating state (while the endpoint works) */
.pq-generating { align-items: center; justify-content: center; text-align: center; }
.pq-generating .pq-gate-orb { margin-bottom: 20px; }
.pq-generating p { color: var(--muted); font-size: 14px; margin: 0; }

/* The full, revealed card */
.pq-full { align-items: center; justify-content: flex-start; }
.pq-fullcard {
	width: 100%;
	background: var(--card);
	color: var(--card-ink);
	border-radius: var(--radius-lg);
	padding: 30px 24px 26px;
	box-shadow: var(--shadow-card);
	margin-top: 6px;
}
.pq-reveal { animation: pq-reveal .7s var(--ease) both; }
@keyframes pq-reveal {
	from { opacity: 0; transform: translateY(14px) scale(.98); }
	to   { opacity: 1; transform: none; }
}

.pq-fc-kicker {
	display: block;
	text-align: center;
	font-size: 10.5px;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: var(--accent);
	font-weight: 700;
	margin-bottom: 10px;
}
.pq-fc-name {
	margin: 0 0 18px;
	text-align: center;
	font-family: var(--font-serif);
	font-style: italic;
	font-weight: 400;
	font-size: 33px;
	line-height: 1.08;
	color: var(--card-ink);
}
.pq-fc-identity {
	margin: 0 0 20px;
	font-size: 16px;
	line-height: 1.6;
	color: #3f3a2f;
	text-align: center;
}
.pq-fc-block {
	border-top: 1px solid #e0d5c0;
	padding-top: 16px;
	margin-top: 16px;
}
.pq-fc-label {
	display: block;
	font-size: 10px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--accent);
	font-weight: 700;
	margin-bottom: 6px;
}
.pq-fc-tension { margin: 0; font-family: var(--font-serif); font-style: italic; font-size: 17px; line-height: 1.4; color: var(--card-ink); }
.pq-fc-action { margin: 0; font-size: 14.5px; line-height: 1.55; color: #3f3a2f; }

.pq-sample-badge {
	display: inline-block;
	margin: 14px auto 0;
	padding: 4px 10px;
	border-radius: var(--radius-pill);
	background: rgba(196, 98, 45, .12);
	color: #9a4a20;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.pq-share-row { display: flex; flex-direction: column; gap: 10px; margin-top: 22px; width: 100%; max-width: 480px; }
.pq-share {
	appearance: none;
	background: var(--accent);
	color: #fff;
	border: none;
	border-radius: var(--radius-pill);
	padding: 15px 22px;
	font-size: 15px;
	font-weight: 700;
	font-family: inherit;
	cursor: pointer;
	transition: transform .18s var(--ease), background .2s;
}
.pq-share:hover { transform: translateY(-2px); background: #d06d35; }
.pq-share.secondary { background: transparent; color: var(--ink); border: 1px solid var(--line-strong); }
.pq-share.secondary:hover { background: var(--bg-2); }

@media (prefers-reduced-motion: reduce) {
	.pq-reveal { animation: none; }
}

/* Off-screen 9:16 branded frame used only to render the shareable image.
   Kept out of view; html2canvas captures it at 3x -> 1080x1920. */
.pq-share-frame {
	position: fixed;
	left: -10000px; top: 0;
	width: 360px; height: 640px;
	box-sizing: border-box;
	padding: 44px 30px 38px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 30px;
	background:
		radial-gradient(120% 78% at 82% 12%, rgba(196, 98, 45, .30), transparent 46%),
		radial-gradient(90% 70% at 14% 92%, rgba(196, 98, 45, .12), transparent 52%),
		#08120c;
}
.pq-share-frame .pq-fullcard { margin: 0; animation: none; }
.pq-sf-top { text-align: center; }
.pq-sf-brand {
	display: block;
	font-family: var(--font-serif);
	font-style: italic;
	font-size: 32px;
	line-height: 1;
	color: #f3efe6;
	letter-spacing: -.01em;
}
.pq-sf-kicker {
	display: block;
	margin-top: 8px;
	font-size: 10px;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--accent);
	font-weight: 700;
}
.pq-sf-foot {
	text-align: center;
	font-size: 12.5px;
	letter-spacing: .02em;
	color: var(--muted);
}
.pq-sf-foot b { color: #f3efe6; font-weight: 700; }
