/* Quiz Enhancer v0.5.0
 * Phases 1-3 styles + Phase 4 Test Companion (sidebar panel, mobile bar/sheet, map, review modal, in-post retry)
 */

/* ---- base cards & buttons (Phases 1-3) ---- */
.qe-card {
	background: #fff;
	border: 1px solid #e2e7ed;
	border-left: 4px solid #1e73be;
	border-radius: 8px;
	padding: 18px 20px;
	margin: 1.25em 0;
	box-shadow: 0 4px 14px rgba(0,0,0,.06);
	text-align: center;
}
.qe-title { margin: 0 0 6px; font-size: 1.15em; color: #1b212b; }
.qe-sub { margin: 0 0 14px; color: #64707a; font-size: .95em; }
.qe-btn {
	display: inline-block;
	background: #1e73be;
	color: #fff !important;
	border: none;
	border-radius: 6px;
	padding: 12px 22px;
	font-size: 16px;
	font-weight: 500;
	cursor: pointer;
	transition: background .2s;
	text-decoration: none;
}
.qe-btn:hover { background: #155a96; color: #fff; }
.qe-btn:disabled { background: #b9c6d2; cursor: not-allowed; }
.qe-btn-check { margin-top: 14px; }

/* overlay modal */
#qe-overlay {
	position: fixed; inset: 0; z-index: 99999;
	background: rgba(15, 23, 32, .72);
	display: flex; align-items: center; justify-content: center;
	padding: 16px;
}
.qe-modal {
	background: #fff; border-radius: 12px; width: 100%; max-width: 720px;
	max-height: 92vh; display: flex; flex-direction: column;
	box-shadow: 0 24px 80px rgba(0,0,0,.35);
}
.qe-modal-head {
	display: flex; justify-content: space-between; align-items: center;
	padding: 14px 20px; border-bottom: 1px solid #eef1f5;
}
.qe-modal-title { font-weight: 700; font-size: 1.05em; color: #1b212b; }
.qe-close { background: none; border: none; font-size: 26px; line-height: 1; cursor: pointer; color: #72818a; }
.qe-progress { height: 5px; background: #eef1f5; }
.qe-progress-bar { height: 100%; width: 0; background: #1e73be; transition: width .3s; }
.qe-modal-body { padding: 20px; overflow-y: auto; }

.qe-qnum { font-size: .85em; font-weight: 700; color: #1e73be; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 8px; }
.qe-question { font-size: 1.06em; line-height: 1.55; color: #1b212b; margin-bottom: 16px; }
.qe-options { list-style: none; margin: 0; padding: 0; }
.qe-opt {
	display: flex; gap: 12px; align-items: flex-start;
	border: 2px solid #e2e7ed; border-radius: 8px;
	padding: 12px 14px; margin-bottom: 10px; cursor: pointer;
	transition: border-color .15s, background .15s;
	font-size: .98em; line-height: 1.5;
}
.qe-opt:hover { border-color: #9ec5e8; }
.qe-selected { border-color: #1e73be; background: #f0f7fd; }
.qe-letter {
	flex: 0 0 26px; height: 26px; border-radius: 50%;
	background: #eef1f5; color: #3a4750;
	display: inline-flex; align-items: center; justify-content: center;
	font-weight: 700; font-size: .85em; margin-top: 1px;
}
.qe-selected .qe-letter { background: #1e73be; color: #fff; }
.qe-correct { border-color: #2e9e5b !important; background: #eef9f2 !important; }
.qe-correct .qe-letter { background: #2e9e5b !important; color: #fff !important; }
.qe-wrong { border-color: #d64545 !important; background: #fdf0f0 !important; }
.qe-wrong .qe-letter { background: #d64545 !important; color: #fff !important; }

.qe-feedback { border-radius: 8px; padding: 14px 16px; margin-top: 6px; text-align: left; }
.qe-fb-ok { background: #eef9f2; border: 1px solid #bfe6cd; color: #1d6b3a; }
.qe-fb-bad { background: #fdf0f0; border: 1px solid #f2c8c8; color: #8f2f2f; }
.qe-expl { margin-top: 8px; color: #3a4750; line-height: 1.55; }

/* Phase 2: attempt history */
.qe-history { text-align: left; }
.qe-hist-summary { display: flex; gap: 10px; }
.qe-hist-stat { flex: 1; text-align: center; background: #f6f9fc; border-radius: 8px; padding: 10px 6px; }
.qe-hist-num { display: block; font-size: 1.5em; font-weight: 800; color: #1e73be; line-height: 1.1; }
.qe-hist-label { font-size: .78em; color: #64707a; text-transform: uppercase; letter-spacing: .05em; }
.qe-hist-msg { margin: 12px 0 10px; padding: 10px 14px; background: #f0f7fd; border-radius: 8px; color: #1b3a5c; font-size: .95em; }
.qe-hist-rows { display: flex; gap: 6px; }
.qe-hist-row { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 2px; font-size: .85em; padding: 8px 4px; border-radius: 8px; color: #3a4750; }
.qe-hist-pass { background: #eef9f2; border: 1px solid #bfe6cd; }
.qe-hist-fail { background: #fdf6f0; border: 1px solid #f2ddc8; }
.qe-bank-list { list-style: none; margin: 12px 0 0; padding: 0; }
.qe-bank-list li { margin: 8px 0; }
.qe-bank-list .qe-btn { display: block; text-align: center; }

.qe-done { text-align: center; padding: 20px 0; }
.qe-score { font-size: 2.6em; font-weight: 800; color: #1e73be; line-height: 1; margin-bottom: 10px; }
.qe-retry-head h2 { margin: 0 0 4px; font-size: 1.3em; }
.qe-retry-head { text-align: center; margin-bottom: 12px; }
.qe-retry-head .qe-sub { margin-bottom: 0; }
.qe-inpost-retry .qe-retry-head h2 { font-size: 1.15em; }

.qe-chip { display: inline-block; background: #fdf0f0; border: 1px solid #f2c8c8; color: #8f2f2f; border-radius: 20px; padding: 5px 14px; font-size: .85em; font-weight: 600; margin-bottom: 8px; }
.qe-chip-hot { background: #fff5eb; border-color: #ffd8a8; color: #a05a00; }

/* ---- Phase 4: Test Companion (desktop sidebar) ---- */
/* hide LearnDash's own question-number panel — replaced by our Companion map */
.wpProQuiz_reviewQuestion { display: none !important; }
.qe-widget-hidden { display: none !important; }
/* sticky handled on the sidebar column (#right-sidebar) — sticky inside a short
   .inside-right-sidebar box cannot travel, so we sticky the grid child while quiz active */
#right-sidebar.qe-sidebar-sticky {
	position: sticky;
	top: 100px;
	align-self: start;
	max-height: calc(100vh - 120px);
	overflow-y: auto;
	z-index: 10;
}
.qe-companion {
	background: #fff;
	border: 1px solid #dfe5ec;
	border-radius: 10px;
	padding: 16px;
	box-shadow: 0 4px 14px rgba(0,0,0,.07);
	font-size: 14px;
	color: #1b212b;
}
.qe-comp-head {
	display: flex; align-items: center; justify-content: space-between;
	margin-bottom: 12px;
}
.qe-comp-title { font-weight: 700; font-size: 1em; }
.qe-comp-ring-wrap { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
.qe-comp-ring {
	width: 74px; height: 74px; border-radius: 50%;
	background: conic-gradient(#1e73be 0deg, #e6ebf1 0deg);
	display: flex; align-items: center; justify-content: center;
	flex: 0 0 74px;
}
.qe-comp-ring::before {
	content: ""; position: absolute;
}
.qe-comp-ring {
	position: relative;
}
.qe-comp-ring-num {
	background: #fff; border-radius: 50%;
	width: 58px; height: 58px;
	display: flex; align-items: center; justify-content: center;
	font-weight: 800; font-size: .95em; color: #1b212b;
}
.qe-comp-score { flex: 1; }
.qe-comp-score-num { font-size: 1.7em; font-weight: 800; color: #1e73be; line-height: 1; }
.qe-comp-score-label { font-size: .75em; color: #64707a; text-transform: uppercase; letter-spacing: .05em; }
.qe-comp-pass { font-size: .8em; color: #2e9e5b; font-weight: 600; margin-top: 2px; }
.qe-comp-missed {
	display: flex; align-items: center; justify-content: space-between;
	background: #f6f9fc; border-radius: 8px; padding: 8px 10px; margin-bottom: 12px;
}
.qe-comp-missed-x { font-weight: 700; color: #8f2f2f; font-size: .95em; }
.qe-comp-review-btn {
	background: #1e73be; color: #fff; border: none; border-radius: 6px;
	padding: 6px 12px; font-size: .85em; font-weight: 600; cursor: pointer;
}
.qe-comp-review-btn:disabled { background: #b9c6d2; cursor: not-allowed; }
.qe-comp-map-title { font-size: .78em; font-weight: 700; color: #64707a; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 6px; }
.qe-comp-map {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(30px, 1fr));
	gap: 4px; max-height: 260px; overflow-y: auto;
}
.qe-map-cell {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 26px; border-radius: 5px;
	background: #eef1f5; color: #3a4750; font-size: .78em; font-weight: 600;
}
.qe-map-ok { background: #e3f5ea; color: #1d6b3a; }
.qe-map-bad { background: #fdeaea; color: #b23a3a; }
.qe-map-current { outline: 2px solid #1e73be; outline-offset: 1px; }
.qe-comp-hint { margin-top: 10px; font-size: .75em; color: #8a95a0; text-align: center; }

/* ---- v0.14.2: free-tier lock (server-side truncation + premium modal) ---- */
.qe-comp-lock {
	background: none; border: none; cursor: pointer; font-size: 1em; line-height: 1;
	margin-left: auto; padding: 2px 4px; filter: grayscale(30%);
}
.qe-comp-lock:hover { filter: none; transform: scale(1.12); }
/* v0.14.5: lock notice hidden visually — kept in DOM (carries data-qe-total for locked map cells).
   Free users get a clean practice space; locked map cells + premium modal do the selling. */
.qe-quiz-lock { display: none !important; }
.qe-quiz-lock-icon { font-size: 1.25em; }
.qe-quiz-lock-btn { margin-left: 10px; }
.qe-premium-overlay {
	position: fixed; inset: 0; z-index: 999999; display: none;
	align-items: center; justify-content: center;
	background: rgba(15,18,25,.72); padding: 20px;
}
.qe-premium-modal {
	position: relative; background: #fff; border-radius: 14px; max-width: 420px; width: 100%;
	box-shadow: 0 24px 64px rgba(0,0,0,.35); overflow: hidden; animation: qePop .18s ease-out;
}
@keyframes qePop { from { transform: scale(.94); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.qe-premium-close {
	position: absolute; top: 8px; right: 10px; background: none; border: none;
	font-size: 1.1em; cursor: pointer; color: #8a95a0; padding: 4px 8px;
}
.qe-premium-close:hover { color: #333; }
.qe-premium-head {
	display: flex; align-items: center; gap: 8px; justify-content: center;
	font-weight: 700; font-size: 1.15em; padding: 20px 16px 6px;
}
.qe-premium-body { padding: 6px 24px 24px; text-align: center; }
.qe-premium-text { color: #4a5560; margin: 8px 0 14px; }
.qe-premium-checks { text-align: left; display: inline-block; margin: 0 auto 16px; color: #3a4750; line-height: 1.9; }
.qe-premium-actions { margin: 10px 0 4px; }
.qe-premium-actions .qe-btn { display: inline-block; padding: 10px 22px; }
.qe-premium-sub { font-size: .75em; color: #8a95a0; margin: 8px 0 0; }

/* ---- Phase 5: report-a-question + Bank branding ---- */
.qe-flag {
	background: none; border: 1px solid #d3dbe3; border-radius: 5px;
	color: #64707a; font-size: .75em; font-weight: 600; cursor: pointer;
	padding: 3px 9px; margin: 6px 0;
}
.qe-flag:hover { border-color: #d64545; color: #d64545; }
.qe-rq-flagrow { margin: 2px 0 8px; }
.wpProQuiz_question .qe-flag { float: right; }
.qe-report-reasons { display: flex; flex-direction: column; gap: 6px; margin: 10px 0; text-align: left; }
.qe-report-reason {
	display: flex; align-items: center; gap: 8px;
	background: #f6f9fc; border: 1px solid #e2e8ef; border-radius: 8px; padding: 8px 12px; cursor: pointer; font-size: .95em;
}
.qe-report-reason:hover { border-color: #1e73be; }
.qe-report-note {
	width: 100%; box-sizing: border-box; border: 1px solid #d3dbe3; border-radius: 8px;
	padding: 10px 12px; font-size: .95em; font-family: inherit; margin: 6px 0;
}
.qe-report-actions { text-align: center; margin-top: 10px; }
.qe-report-done { text-align: center; margin-top: 10px; }
.qe-bank-brand h2 { margin-bottom: 4px; }
.qe-bank-brand .qe-sub { margin-top: 0; }

/* primary CTA: green to contrast against the blue history stats/message backgrounds */
.qe-btn-primary { background: #2e9e5b !important; border: 1px solid #1d6b3a !important; color: #fff !important; box-shadow: 0 2px 6px rgba(29,107,58,.35); }
.qe-btn-primary:hover { background: #268a4f !important; color: #fff !important; }
.qe-comp-hist-retry { display: block; text-align: center; margin-top: 10px; text-decoration: none; }
.qe-comp-live-stats { cursor: pointer; margin-top: 10px; padding: 8px 10px; background: #f0f7fd; border: 1px solid #cfe3f5; border-radius: 8px; font-size: .8em; font-weight: 600; color: #1b3a5c; text-align: center; }
.qe-comp-live-stats:hover { background: #e2effa; }
.qe-mobile-bar {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990;
	display: none; /* JS decides; shown via style only when created */
	align-items: center; justify-content: space-between; gap: 10px;
	background: #12253a; color: #fff;
	padding: 10px 14px;
	padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
	box-shadow: 0 -6px 20px rgba(0,0,0,.25);
}
@media (max-width: 1024px) {
	.qe-mobile-bar { display: flex !important; }
	.qe-mobile-sheet { display: block; }
	/* mobile uses bottom bar + sheet only; hide the desktop sidebar panel copy */
	.qe-companion { display: none !important; }
	/* sheet already has its own header — drop the duplicate panel title inside it */
	.qe-mobile-sheet .qe-comp-head { display: none; }
	/* sidebar is stacked below content on mobile — never sticky/locked there */
	#right-sidebar.qe-sidebar-sticky, #left-sidebar.qe-sidebar-sticky {
		position: static;
		max-height: none;
		overflow: visible;
	}
}
@media (min-width: 1025px) { .qe-mobile-bar { display: none !important; } }
.qe-mb-toggle {
	background: #1e73be; color: #fff; border: none; border-radius: 6px;
	padding: 7px 14px; font-size: .9em; font-weight: 700; cursor: pointer;
}
.qe-mobile-bar span { font-weight: 700; font-size: .95em; }
.qe-mobile-sheet {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 9991;
	background: #fff; border-radius: 16px 16px 0 0;
	max-height: 70vh; overflow-y: auto;
	padding: 16px 16px calc(24px + env(safe-area-inset-bottom, 0px));
	transform: translateY(110%);
	transition: transform .28s ease;
	box-shadow: 0 -12px 40px rgba(0,0,0,.25);
	display: none;
}
@media (max-width: 1024px) { .qe-mobile-sheet { display: block; } }
.qe-mobile-sheet.qe-sheet-open { transform: translateY(0); }
.qe-sheet-head {
	display: flex; align-items: center; justify-content: space-between;
	font-weight: 700; margin-bottom: 12px; color: #1b212b;
}
.qe-sheet-head button { background: none; border: none; font-size: 20px; cursor: pointer; color: #72818a; }
.qe-mobile-sheet .qe-comp-ring-wrap { margin-bottom: 10px; }

/* Phase 4: review modal items */
.qe-review-item {
	border: 1px solid #e2e7ed; border-radius: 8px;
	padding: 14px 16px; margin-bottom: 12px; background: #fcfdfe;
}
.qe-review-item .qe-question { margin-bottom: 8px; }
.qe-review-ans { font-size: .95em; color: #1d6b3a; margin-bottom: 6px; }

/* in-post retry card */
.qe-inpost-retry { border-left-color: #e8a13c; }
.qe-inpost-retry .qe-title { font-size: 1.1em; }
.qe-inpost-player { text-align: left; }
.qe-inpost-player .qe-retry-head { text-align: center; }
.qe-actions { text-align: center; }

/* Phase 7: Results & Exam Readiness panel */
.qe-readiness { margin-top: 16px; }
.qe-readiness-top { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.qe-readiness-score { min-width: 110px; text-align: center; padding: 12px; border-radius: 10px; background: #f0f7f2; }
.qe-rd-num { font-size: 34px; font-weight: 800; line-height: 1.1; }
.qe-rd-lbl { font-size: 12px; text-transform: uppercase; letter-spacing: .5px; color: #555; }
.qe-rd-high .qe-rd-num { color: #2e9e5b; } .qe-rd-high { background: #eaf7ef; }
.qe-rd-mid  .qe-rd-num { color: #c77700; } .qe-rd-mid  { background: #fdf6e6; }
.qe-rd-low  .qe-rd-num { color: #d63638; } .qe-rd-low  { background: #fdeeee; }
.qe-rd-lbl2 { font-weight: 700; font-size: 16px; margin-bottom: 4px; }
.qe-rd-high-txt { color: #2e9e5b; } .qe-rd-mid-txt { color: #c77700; } .qe-rd-low-txt { color: #d63638; }
.qe-readiness-verdict { flex: 1; min-width: 220px; }
.qe-readiness-stats { margin-top: 12px; font-size: 14px; color: #333; }
.qe-catbars { margin-top: 14px; }
.qe-catbars-title { font-weight: 700; margin-bottom: 8px; }
.qe-catrow { display: flex; align-items: center; gap: 10px; margin: 6px 0; }
.qe-catname { width: 34%; font-size: 13px; }
.qe-catbar { flex: 1; height: 12px; background: #e8e8e8; border-radius: 6px; overflow: hidden; }
.qe-catbar span { display: block; height: 100%; border-radius: 6px; }
.qe-catbar-strong { background: #2e9e5b; } .qe-catbar-ok { background: #e6a700; } .qe-catbar-weak { background: #d63638; }
.qe-catpct { width: 32%; font-size: 13px; font-weight: 700; }
.qe-rd-footnote { margin-top: 10px; font-size: 11px; color: #888; }

/* Phase 7.5: results dashboard extras */
.qe-trend { display: flex; align-items: flex-end; gap: 3px; height: 70px; padding: 6px 0; }
.qe-trend-col { display: inline-flex; align-items: flex-end; width: 12px; }
.qe-trend-col > span { display: block; width: 100%; border-radius: 2px 2px 0 0; }
.qe-testtable { width: 100%; font-size: 14px; }
.qe-testtable th, .qe-testtable td { padding: 6px 8px; text-align: left; }

/* Phase 7.5.2: small results link inside live-mode history strip */
.qe-strip-results { display: inline-block; margin-left: 6px; padding: 1px 8px; font-size: 11px; line-height: 1.6; border: 1px solid #2e9e5b; color: #2e9e5b !important; border-radius: 10px; text-decoration: none; background: #fff; vertical-align: middle; }
.qe-strip-results:hover { background: #2e9e5b; color: #fff !important; text-decoration: none; }

/* Phase 7.5.3: minimal buttons inside Companion history panel (stage 1) */
.qe-comp-hist .qe-btn, .qe-comp-hist .qe-btn.qe-btn-primary {
	display: inline-block;
	background: transparent;
	color: #3a4a58 !important;
	border: 1px solid #c9d4dd;
	border-radius: 6px;
	padding: 6px 14px;
	font-size: 13.5px;
	font-weight: 600;
	cursor: pointer;
	transition: all .15s ease;
	text-decoration: none;
	box-shadow: none;
	line-height: 1.4;
}
.qe-comp-hist .qe-btn.qe-btn-primary {
	background: #f2faf5;
	color: #217a44 !important;
	border-color: #bfe3cd;
}
.qe-comp-hist .qe-btn:hover { background: #eef2f6; border-color: #a9b9c6; color: #2c3a47 !important; }
.qe-comp-hist .qe-btn.qe-btn-primary:hover { background: #e4f4ea; border-color: #9ed6b4; color: #1c6a3a !important; }
.qe-comp-hist .qe-btn:disabled { background: #f5f5f5; color: #9aa5ae !important; border-color: #dde3e8; cursor: not-allowed; }

/* Phase 7.5.3 fix: override !important primaries inside Companion history panel */
.qe-comp-hist .qe-btn.qe-btn-primary {
	background: #f2faf5 !important;
	border: 1px solid #bfe3cd !important;
	color: #217a44 !important;
	box-shadow: none !important;
}
.qe-comp-hist .qe-btn.qe-btn-primary:hover { background: #e4f4ea !important; color: #1c6a3a !important; }
.qe-comp-hist .qe-btn.qe-btn-primary:disabled { background: #f5f5f5 !important; color: #9aa5ae !important; border-color: #dde3e8 !important; }

/* ============================================================
   PHASE 8a: pre-start info card
   ============================================================ */
.qe-prestart { margin: 0 0 22px; }
.qe-pre-head {
	font-size: 1.05em; font-weight: 700; color: #1f2d3d;
	margin-bottom: 12px;
}
.qe-pre-stats {
	display: flex; gap: 10px; flex-wrap: wrap;
}
.qe-pre-stats .qe-hist-stat {
	flex: 1 1 90px; background: #f5f8fa; border: 1px solid #e1e8ee;
	border-radius: 8px; padding: 10px 8px; text-align: center;
}
.qe-pre-topics { margin-top: 12px; }
.qe-pre-topics-label {
	font-size: .78em; font-weight: 700; text-transform: uppercase;
	letter-spacing: .04em; color: #6b7c8a; margin-bottom: 6px;
}
.qe-pre-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.qe-pre-chip {
	display: inline-block; background: #eef4f9; border: 1px solid #d5e2ec;
	color: #2c3a47; border-radius: 999px; padding: 3px 10px;
	font-size: .8em; font-weight: 600;
}
.qe-pre-chip em { font-style: normal; color: #7a8a97; font-weight: 500; margin-left: 2px; }
.qe-pre-chip.qe-pre-more { background: #f5f5f5; border-color: #e3e3e3; color: #8a97a2; }
.qe-pre-cta {
	margin-top: 12px; font-size: .9em; color: #3d4f5e;
	background: #f0f7f2; border: 1px dashed #bfe3cd; border-radius: 8px;
	padding: 8px 12px;
}

/* ============================================================
   PHASE 8c: focus mode — hide surrounding content while quiz is live
   ============================================================ */
.qe-focus-hide { display: none !important; }
/* keep Test Companion visible in focus mode */
body.qe-focus #qe-companion, body.qe-focus #qe-mobile-bar, body.qe-focus #qe-mobile-sheet { display: block; }
body.qe-focus #qe-mobile-bar.qe-bar-hidden, body.qe-focus #qe-mobile-sheet:not(.open) { display: none; }

/* ============================================================
   PHASE 8d/8e: focus bar — timer (left) + content toggle (right)
   ============================================================ */
.qe-focus-toggle {
	display: flex; align-items: center; justify-content: space-between;
	gap: 12px; flex-wrap: wrap;
	margin: 0 0 14px; padding: 8px 12px;
	background: #f7fafc; border: 1px solid #e1e8ee; border-radius: 10px;
}
.qe-timer { display: flex; align-items: center; gap: 8px; }
.qe-timer-display {
	font-variant-numeric: tabular-nums; font-weight: 700; color: #6b7c8a;
	font-size: .9em;
}
.qe-timer-display.qe-timer-active { color: #1f2d3d; }
.qe-timer-btn {
	display: inline-block; padding: 5px 12px;
	background: #fff; color: #2c3a47 !important;
	border: 1px solid #c9d6e0; border-radius: 999px;
	font-size: .8em; font-weight: 600; cursor: pointer;
	line-height: 1.4; transition: all .15s ease;
}
.qe-timer-btn:hover { background: #eef4f9; }
.qe-timer-btn.qe-timer-on { border-color: #217a44; color: #217a44 !important; }
.qe-focus-btn {
	display: inline-block; padding: 8px 16px;
	background: #f0f4f8; color: #2c3a47 !important;
	border: 1px solid #c9d6e0; border-radius: 999px;
	font-size: .85em; font-weight: 600; cursor: pointer;
	text-decoration: none; line-height: 1.4;
	transition: all .15s ease;
}
.qe-focus-btn:hover { background: #e4ecf3; border-color: #aebfd0; }
/* post blocks temporarily re-shown while quiz is live */
.qe-focus-hide.qe-focus-show { display: block !important; }

/* Phase 8d: pre-start card trust lines */
.qe-pre-trust {
	margin-top: 10px; display: flex; flex-direction: column; gap: 4px;
}
.qe-pre-trust-line {
	font-size: .85em; color: #217a44; font-weight: 600;
}

/* ============================================================
   PHASE 9: hardest topics (results panel)
   ============================================================ */
.qe-hardest {
	margin-top: 14px; background: #fdf6f4;
	border: 1px solid #f0d9d2; border-radius: 8px; padding: 10px 12px;
}
.qe-hardest-row {
	display: flex; align-items: baseline; gap: 8px; padding: 4px 0;
}
.qe-hardest-rank {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 20px; height: 20px; border-radius: 50%;
	background: #e8543a; color: #fff; font-size: .72em; font-weight: 700;
	flex: 0 0 auto; align-self: center;
}
.qe-hardest-rate {
	margin-left: auto; font-weight: 700; color: #b33a24; font-size: .88em;
	white-space: nowrap;
}
.qe-hardest-rate small { color: #8a6a60; font-weight: 500; }
.qe-hardest-hint { margin: 6px 0 0; font-size: .8em; color: #8a6a60; }

/* Phase 9.1: hide LearnDash category overview (only applied after our readiness panel renders) */
.qe-catov-hidden { display: none !important; }

/* Phase 9.2: backward-only clickable map cells (answered questions) */
.qe-map-cell.qe-map-jump {
	cursor: pointer;
	outline: 1px dashed transparent;
	transition: outline-color .12s ease, transform .12s ease;
}
.qe-map-cell.qe-map-jump:hover {
	outline-color: #4a7ba6;
	transform: scale(1.12);
	position: relative; z-index: 1;
}

/* v0.14.3: locked question cells (beyond free limit — server stripped content, only count shown) */
.qe-map-cell.qe-map-locked {
	cursor: pointer;
	background: #f1f3f5;
	color: #9aa3ad;
	border: 1px dashed #c4ccd4;
	font-size: 10px;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.qe-map-cell.qe-map-locked:hover {
	background: #e8ecf0;
	transform: scale(1.12);
	position: relative; z-index: 1;
}

/* ============================================================
   PHASE 9.3: post title above quiz panel on quiz posts
   ============================================================ */
/* Some theme/customizer setups hide the entry title on posts — force it back on quiz posts only */
body.qe-quiz-post .entry-header .entry-title { display: block !important; }
/* But during focus mode the title hides with the content */
body.qe-focus.qe-quiz-post .entry-header { display: none !important; }

/* ============================================================
   PHASE 9.4: reset progress button + confirmation modal
   ============================================================ */
.qe-reset-row { margin-top: 14px; padding-top: 12px; border-top: 1px solid #eef1f5; text-align: right; }
.qe-reset-btn {
	background: none; border: none; cursor: pointer;
	color: #9aa5ae; font-size: .8em; font-weight: 600;
	text-decoration: underline; text-underline-offset: 2px;
	padding: 4px 6px;
}
.qe-reset-btn:hover { color: #b33a24; }
#qe-reset-overlay {
	position: fixed; inset: 0; z-index: 99999;
	background: rgba(15, 23, 32, .72);
	display: flex; align-items: center; justify-content: center;
	padding: 16px;
}
.qe-reset-modal {
	background: #fff; border-radius: 12px; width: 100%; max-width: 440px;
	box-shadow: 0 24px 80px rgba(0,0,0,.35);
	padding: 22px;
}
.qe-reset-modal .qe-modal-head { padding: 0 0 12px; border-bottom: 1px solid #eef1f5; font-weight: 700; font-size: 1.05em; color: #b33a24; }
.qe-reset-modal .qe-sub { margin: 12px 0 16px; }
.qe-reset-choices { display: flex; flex-direction: column; gap: 8px; }
.qe-reset-danger { background: #c0392b !important; border: 1px solid #a93226 !important; }
.qe-reset-danger:hover { background: #a93226 !important; color: #fff !important; }
.qe-reset-modal .qe-modal-actions { margin-top: 14px; display: flex; justify-content: flex-end; }

/* v0.9.6: per-bank reset button (missed-question hub rows) */
.qe-reset-bank { padding: 2px 8px !important; font-size: 0.85em; vertical-align: middle; }

/* ===== Phase 10: account sync ===== */
.qe-sync-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}
.qe-sync-on{color:#2e9e5b;font-weight:600;font-size:13px}
.qe-sync-link{background:none;border:none;color:#666;font-size:12px;text-decoration:underline;cursor:pointer;padding:0}
.qe-sync-hint{font-size:12px;color:#777}
.qe-sync-slot-inner{margin-top:10px}
.qe-auth-tabs{display:flex;gap:0;margin:12px 0;border:1px solid #d7dee6;border-radius:6px;overflow:hidden}
.qe-auth-tab{flex:1;background:#f2f5f8;border:none;padding:9px 6px;font-size:14px;cursor:pointer;color:#555}
.qe-auth-tab-on{background:#2e9e5b;color:#fff;font-weight:600}
.qe-auth-form{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.qe-auth-input{width:100%;padding:10px 12px;border:1px solid #cdd6df;border-radius:6px;font-size:14px;box-sizing:border-box}
.qe-auth-input:focus{outline:2px solid #2e9e5b33;border-color:#2e9e5b}
.qe-sync-flash{position:fixed;bottom:74px;left:50%;transform:translateX(-50%);background:#2e9e5b;color:#fff;padding:9px 18px;border-radius:24px;font-size:13.5px;font-weight:600;z-index:99999;box-shadow:0 4px 14px rgba(0,0,0,.22);transition:opacity .5s;pointer-events:none}
.qe-sync-flash-err{background:#d64545}
.qe-sync-flash-out{opacity:0}
@media (max-width:1024px){.qe-sync-flash{bottom:64px}}

/* ===== Phase 11: profile page ===== */
.qe-prof-hero{display:flex;align-items:center;gap:18px;margin-bottom:18px}
.qe-prof-avatar{flex:0 0 72px;width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#2e9e5b,#1e73be);color:#fff;font-size:32px;font-weight:700;display:flex;align-items:center;justify-content:center}
.qe-prof-name{margin:0 0 2px;font-size:26px;line-height:1.2}
.qe-prof-email{color:#5a6b7b;font-size:14px}
.qe-prof-since{color:#8a99a8;font-size:12.5px;margin-top:3px}
.qe-prof-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #e6ebf1}
.qe-prof-actions .qe-btn{min-height:40px}
#qe-profile-app .qe-readiness-top{margin-bottom:14px}
@media(max-width:640px){.qe-prof-avatar{flex-basis:56px;width:56px;height:56px;font-size:24px}.qe-prof-name{font-size:22px}}

/* ===== Phase 11.1: profile study plan ===== */
.qe-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:12px 0 6px}
.qe-plan-card{background:#f7fafc;border:1px solid #e6ebf1;border-radius:10px;padding:14px 16px}
.qe-plan-head{font-size:12.5px;font-weight:700;color:#5a6b7b;text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px}
.qe-plan-big{font-size:30px;font-weight:700;line-height:1.1;margin-bottom:4px}
.qe-plan-covbar{height:8px;background:#e6ebf1;border-radius:4px;overflow:hidden;margin:6px 0}
.qe-plan-covbar span{display:block;height:100%;background:#2e9e5b;border-radius:4px}
.qe-plan-pending{list-style:none;margin:8px 0 0;padding:0}
.qe-plan-pending li{padding:3px 0;font-size:13.5px}
.qe-plan-pending a{color:#1e73be;text-decoration:none}
.qe-plan-pending a:hover{text-decoration:underline}
.qe-plan-card .qe-btn-primary{margin-top:10px}
.qe-plan-rec{background:#fff8e6;border:1px solid #f0dfa8;border-radius:10px;padding:12px 16px;margin:10px 0 0;font-size:14px}

/* ===== Phase 11.2: visual polish pass ===== */

/* ---- section rhythm on dashboard pages ---- */
.qe-readiness .qe-catbars, .qe-readiness-top { margin-top: 18px; }
.qe-catbars-title { font-size: 15px; margin-bottom: 10px; }
.qe-catrow { margin: 9px 0; }
.qe-catname { font-weight: 600; color: #3a4750; line-height: 1.35; }
.qe-catpct small { font-weight: 500; }
.qe-trend { height: 84px; }
.qe-trend-col > span { border-radius: 3px 3px 0 0; }
.qe-readiness-stats { color: #5a6b7b; line-height: 1.7; }

/* ---- stats table: clean, no zebra walls ---- */
.qe-tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid #e6ebf1; border-radius: 10px; }
.qe-tablewrap .qe-testtable { border: none; margin: 0; }
.qe-testtable th { background: #f7fafc; color: #5a6b7b; font-size: 12.5px; text-transform: uppercase; letter-spacing: .03em; }
.qe-testtable th, .qe-testtable td { padding: 11px 14px; }
.qe-testtable tbody tr { border-bottom: 1px solid #eef1f5; }
.qe-testtable tbody tr:last-child { border-bottom: none; }
.qe-testtable .qe-btn { padding: 7px 14px; font-size: 13.5px; white-space: nowrap; }

/* ---- study plan cards ---- */
.qe-plan-grid { gap: 16px; margin: 14px 0 8px; }
.qe-plan-card { display: flex; flex-direction: column; padding: 18px 20px; border-radius: 12px; box-shadow: 0 2px 8px rgba(27,33,43,.04); }
.qe-plan-head { margin-bottom: 8px; }
.qe-plan-big { font-size: 34px; margin-bottom: 6px; }
.qe-plan-card .qe-sub { line-height: 1.55; margin: 0; }
.qe-plan-covbar { height: 10px; margin: 8px 0 6px; }
.qe-plan-pending li { padding: 5px 0; line-height: 1.5; border-bottom: 1px dashed #edf1f6; font-size: 14px; }
.qe-plan-pending li:last-child { border-bottom: none; }
.qe-plan-pending li.qe-sub { border-bottom: none; color: #8a99a8; font-size: 13px; }
.qe-plan-card .qe-btn-primary { margin-top: auto; }
.qe-plan-card .qe-btn-primary, .qe-plan-card .qe-sub + .qe-btn-primary { margin-top: 14px; }
.qe-plan-rec { padding: 14px 18px; border-radius: 12px; line-height: 1.6; }

/* ---- profile hero spacing ---- */
.qe-prof-actions { padding-bottom: 22px; margin-bottom: 26px; }
.qe-prof-since { margin-top: 5px; }
#qe-prof-plan, #qe-prof-perf { margin-bottom: 26px; }
.qe-plan-grid + .qe-plan-rec { margin-top: 12px; }

/* ---- retry player & hub ---- */
.qe-retry-head { margin-bottom: 18px; }
.qe-retry-head h2 { font-size: 1.45em; }
.qe-qnum { margin: 4px 0 10px; }
.qe-question { font-size: 1.12em; margin-bottom: 18px; }
.qe-opt { padding: 13px 16px; border-radius: 10px; }
.qe-bank-list li { margin: 12px 0; }
.qe-reset-row { margin-top: 22px; padding-top: 16px; }

/* ---- score / done screen ---- */
.qe-done { padding: 30px 10px; }
.qe-score { font-size: 3.2em; margin-bottom: 14px; }
.qe-done .qe-btn { margin: 4px 6px 4px 0; }

/* ---- sync toast ---- */
.qe-sync-flash { box-shadow: 0 6px 22px rgba(0,0,0,.28); }

/* ---- mobile refinements ---- */
@media (max-width: 640px) {
  .qe-plan-grid { grid-template-columns: 1fr 1fr; }
  .qe-plan-card { padding: 14px 16px; }
  .qe-plan-big { font-size: 28px; }
  .qe-plan-pending li { font-size: 13px; }
  .qe-readiness-top { gap: 12px; }
  .qe-catname { width: 38%; }
  .qe-catpct { width: 36%; }
  .qe-done .qe-btn { display: block; width: 100%; margin: 8px 0; box-sizing: border-box; }
}
@media (max-width: 420px) {
  .qe-plan-grid { grid-template-columns: 1fr; }
}

/* ===== Phase 12: monetization — pricing cards ===== */
.qe-pricing { padding: 28px 24px; }
.qe-pricing-title { margin: 0 0 6px; font-size: 1.5em; color: #1b212b; }
.qe-pricing-sub { margin: 0 0 20px; color: #5a6b7b; font-size: 1em; }
.qe-plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; margin: 0 0 16px; }
.qe-plan {
	display: flex; flex-direction: column; align-items: center;
	background: #f7fafc; border: 1px solid #e6ebf1; border-radius: 12px;
	padding: 22px 16px; text-align: center;
	transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.qe-plan:hover { border-color: #9ec5e8; box-shadow: 0 6px 18px rgba(27,33,43,.08); transform: translateY(-2px); }
.qe-plan-name { font-size: 1.1em; font-weight: 700; color: #1b212b; margin-bottom: 4px; }
.qe-plan-days { font-size: .82em; color: #64707a; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 12px; }
.qe-plan-price { display: block; font-size: 2.2em; font-weight: 800; color: #1e73be; line-height: 1; margin-bottom: 14px; }
.qe-plan-perks { display: flex; flex-direction: column; gap: 5px; margin-bottom: 16px; }
.qe-plan-perks span { font-size: .88em; color: #3a4750; }
.qe-plan .qe-buy { min-height: 44px; padding: 12px 26px; width: 100%; box-sizing: border-box; }
.qe-plan .qe-buy:disabled { background: #b9c6d2; }
.qe-pricing-note { margin: 0; }
@media (max-width: 640px) { .qe-plans { grid-template-columns: 1fr; } .qe-plan { padding: 18px 14px; } }

/* ===== Phase 11.2 round 2: hub rows + auth modal ===== */
.qe-bank-list li { display: flex; align-items: center; gap: 10px; margin: 12px 0; }
.qe-bank-list .qe-btn { flex: 1; text-align: center; padding: 12px 18px; }
.qe-bank-list .qe-reset-bank { flex: 0 0 auto; margin-left: auto !important; }
.qe-auth-form { gap: 14px; }
.qe-auth-input { padding: 12px 14px; }
.qe-auth-form .qe-btn-primary { margin-top: 4px; padding: 13px 22px; }
@media (max-width: 640px) { .qe-bank-list li { flex-wrap: wrap; } }

/* ============================================================
   PHASE 12: monetization upsell banner (free-tier users)
   ============================================================ */
.qe-upsell {
	margin-top: 16px;
	padding: 18px 20px;
	border: 1px solid #d9e2ec;
	border-left: 4px solid #f59e0b;
	border-radius: 10px;
	background: #fffbeb;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.qe-upsell-head {
	font-weight: 700;
	font-size: 15px;
	color: #92400e;
}
.qe-upsell-text {
	font-size: 14px;
	line-height: 1.55;
	color: #374151;
}
.qe-upsell-cta {
	align-self: flex-start;
	margin-top: 2px;
	white-space: nowrap;
}
.qe-upsell-note {
	font-size: 12px;
	color: #92400e;
	opacity: 0.85;
}
@media (max-width: 600px) {
	.qe-upsell { padding: 14px 16px; }
	.qe-upsell-cta { align-self: stretch; text-align: center; }
}

/* ============================================================
   v0.17.1 — Results dashboard (design per approved DrivePrep demo):
   Inter, #f5f6f8 bg, indigo accent, dark hero, blurred teasers.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
#qe-results-app{--qe2-bg:#f5f6f8;--qe2-surface:#fff;--qe2-border:#e7eaf0;--qe2-border2:#f0f2f6;--qe2-text:#0f172a;--qe2-muted:#64748b;--qe2-faint:#94a3b8;--qe2-accent:#4f46e5;--qe2-accent-dark:#4338ca;--qe2-accent-soft:#eef2ff;--qe2-green:#059669;--qe2-green-soft:#ecfdf5;--qe2-red:#dc2626;--qe2-red-soft:#fef2f2;--qe2-radius:16px;--qe2-shadow:0 1px 2px rgba(16,24,40,.04);font-family:'Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;background:transparent;color:var(--qe2-text);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;text-align:left;border-radius:0;padding:22px 0 8px;margin:0}
#qe-results-app *{box-sizing:border-box}
#qe-results-app a{color:inherit;text-decoration:none}
#qe-results-app button{font-family:inherit;cursor:pointer}
#qe-results-app .qe2-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
#qe-results-app .ic{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none;width:15px;height:15px}
/* page head */
#qe-results-app .qe2-page-head{padding-bottom:22px}
#qe-results-app .qe2-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-bottom:18px}
#qe-results-app h1{font-size:23px;font-weight:700;letter-spacing:-.01em;margin:0;color:var(--qe2-text)}
#qe-results-app .qe2-pill-plan{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#64748b;background:#eef1f5;border:1px solid var(--qe2-border);padding:3px 9px;border-radius:999px;margin-left:10px;vertical-align:4px}
#qe-results-app .qe2-id-meta{font-size:13.5px;color:var(--qe2-muted);margin-top:4px}
#qe-results-app .qe2-chips{display:flex;gap:8px;flex-wrap:wrap}
#qe-results-app .qe2-chip{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:#334155;background:#fff;border:1px solid var(--qe2-border);padding:7px 12px;border-radius:999px}
/* buttons */
#qe-results-app .qe2-btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:13.5px;border-radius:10px;padding:9px 15px;border:1px solid transparent;transition:all .15s ease;margin:4px 6px 4px 0}
#qe-results-app .qe2-btn-primary{background:var(--qe2-accent);color:#fff}
#qe-results-app .qe2-btn-primary:hover{background:var(--qe2-accent-dark);color:#fff}
#qe-results-app .qe2-btn-white{background:#fff;color:#111527}
#qe-results-app .qe2-btn-white:hover{background:#e9ebf5}
#qe-results-app .qe2-btn-pol{border-color:#3b4463;color:#dfe3f0;background:transparent}
#qe-results-app .qe2-btn-pol:hover{border-color:#525c85;background:rgba(255,255,255,.04)}
@keyframes qe2pulse{0%{box-shadow:0 0 0 0 rgba(129,140,248,.55)}100%{box-shadow:0 0 0 16px rgba(129,140,248,0)}}
#qe-results-app .qe2-pulse{animation:qe2pulse .8s ease-out 2}
/* teaser/lock primitives */
#qe-results-app .qe2-teaser{filter:blur(5px);user-select:none;pointer-events:none}
#qe-results-app .qe2-lockchip{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;background:rgba(15,23,42,.92);color:#fff;font-size:11px;font-weight:700;padding:6px 11px;border-radius:999px;box-shadow:0 6px 18px rgba(15,23,42,.35)}
#qe-results-app .qe2-lockchip .ic{width:12px;height:12px;min-width:12px;min-height:12px;max-width:12px;max-height:12px;stroke-width:2.2}
#qe-results-app .qe2-lockpill{margin-left:auto;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#c7d2fe;background:rgba(99,102,241,.16);padding:4px 10px;border-radius:999px;display:flex;gap:5px;align-items:center;flex:none}
#qe-results-app .qe2-lockpill .ic{width:11px;height:11px}
#qe-results-app .qe2-lockpill.light{color:#64748b;background:#f1f3f8}
#qe-results-app .qe2-zap{width:34px;height:34px;border-radius:10px;background:rgba(99,102,241,.18);color:#a5b4fc;display:grid;place-items:center;flex:none;font-size:15px}
#qe-results-app .qe2-ok-pill{margin-left:auto;font-size:11px;font-weight:700;letter-spacing:.05em;color:#a7f3d0;background:rgba(5,150,105,.18);padding:4px 10px;border-radius:999px}
/* hero */
#qe-results-app .qe2-hero{position:relative;overflow:hidden;background:linear-gradient(160deg,#161b30,#0c1020);border:1px solid #232a45;border-radius:20px;padding:32px;display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:center;box-shadow:var(--qe2-shadow)}
#qe-results-app .qe2-hero::before{content:"";position:absolute;width:440px;height:440px;right:-120px;top:-170px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.28),transparent 65%);pointer-events:none}
#qe-results-app .qe2-hero-copy{position:relative;z-index:1}
#qe-results-app .qe2-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:16px}
#qe-results-app .qe2-eyebrow-txt{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#a5b4fc}
#qe-results-app .qe2-hero-title{font-size:25px;font-weight:800;letter-spacing:-.02em;line-height:1.2;color:#fff;margin:0}
#qe-results-app .qe2-hero-lede{font-size:13.5px;color:#aeb6cc;margin:12px 0 4px;max-width:46ch}
#qe-results-app .qe2-hero-lede b{color:#eef0f7}
#qe-results-app .qe2-pli{display:flex;gap:11px;padding:11px 0;border-top:1px solid rgba(255,255,255,.07);align-items:flex-start}
#qe-results-app .qe2-pli .ic{width:15px;height:15px;color:#818cf8;margin-top:3px}
#qe-results-app .qe2-pli b{display:block;font-size:13.5px;color:#eef0f7;font-weight:600}
#qe-results-app .qe2-pli span{display:block;font-size:12.5px;color:#8d96ad;margin-top:1px}
#qe-results-app .qe2-p-cta{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
#qe-results-app .qe2-p-note{font-size:11.5px;color:#6d7690;margin-top:13px}
/* preview card */
#qe-results-app .qe2-hero-preview{position:relative;z-index:1;display:flex;justify-content:center}
#qe-results-app .qe2-preview{background:#fff;border-radius:16px;padding:20px;width:100%;max-width:330px;box-shadow:0 24px 60px rgba(0,0,0,.45);transform:rotate(2.4deg)}
#qe-results-app .qe2-preview-flat{transform:none;box-shadow:0 10px 30px rgba(0,0,0,.35)}
#qe-results-app .qe2-pv-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
#qe-results-app .qe2-pv-title{font-size:13px;font-weight:700;color:var(--qe2-text)}
#qe-results-app .qe2-pv-sub{font-size:11.5px;color:var(--qe2-faint)}
#qe-results-app .qe2-pv-chip{font-size:11px;font-weight:700;color:#047857;background:var(--qe2-green-soft);padding:4px 10px;border-radius:999px;flex:none}
#qe-results-app .qe2-gauge-wrap{position:relative;display:grid;place-items:center;padding:10px 0 4px}
#qe-results-app .qe2-gauge{width:150px;height:150px}
#qe-results-app .qe2-pv-rows{margin-top:8px}
#qe-results-app .qe2-pv-row{display:flex;align-items:flex-start;gap:8px;font-size:12px;font-weight:500;color:#475569;padding:7px 0;border-top:1px solid var(--qe2-border2)}
#qe-results-app .qe2-pv-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex:none}
/* cards grid */
#qe-results-app .qe2-tgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;align-items:start}
#qe-results-app .qe2-span2{grid-column:1/-1}
#qe-results-app .qe2-card{background:var(--qe2-surface);border:1px solid var(--qe2-border);border-radius:var(--qe2-radius);box-shadow:var(--qe2-shadow)}
#qe-results-app .qe2-card h2{font-size:15.5px;font-weight:700;margin:0}
#qe-results-app .qe2-card-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:18px 20px 14px}
#qe-results-app .qe2-card-h .qe2-hint{display:block;font-size:12.5px;color:var(--qe2-faint);margin-top:2px;font-weight:400}
#qe-results-app .qe2-card-f{border-top:1px solid var(--qe2-border2);padding:12px 20px}
#qe-results-app .qe2-unlock-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--qe2-accent)}
#qe-results-app .qe2-unlock-link .ic{width:14px;height:14px;transition:transform .15s}
#qe-results-app .qe2-unlock-link:hover .ic{transform:translateX(3px)}
/* category bars */
#qe-results-app .qe2-brow{display:flex;align-items:center;gap:12px;padding:12px 20px;border-top:1px solid var(--qe2-border2)}
#qe-results-app .qe2-b-name{width:180px;font-size:13px;font-weight:600;color:#334155;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#qe-results-app .qe2-b-track{flex:1;height:8px;border-radius:99px;background:#eef1f6;overflow:hidden}
#qe-results-app .qe2-b-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#818cf8,#4f46e5)}
#qe-results-app .qe2-b-val{width:38px;text-align:right;font-size:12.5px;font-weight:700;color:#334155}
/* chart + attempts */
#qe-results-app .qe2-chart-wrap{position:relative;padding:8px 20px 0}
#qe-results-app .qe2-chart-wrap svg{width:100%;height:auto;display:block}
#qe-results-app .qe2-attempts{list-style:none;margin:10px 0 0;padding:0}
#qe-results-app .qe2-att{display:flex;align-items:center;gap:12px;padding:11px 20px;border-top:1px solid var(--qe2-border2)}
#qe-results-app .qe2-att-ic{width:32px;height:32px;border-radius:9px;background:#f1f3f8;color:#64748b;display:grid;place-items:center;flex:none;font-size:14px}
#qe-results-app .qe2-att-body{flex:1;min-width:0}
#qe-results-app .qe2-att-body b{display:block;font-size:13px;font-weight:600;color:var(--qe2-text)}
#qe-results-app .qe2-att-body i{display:block;font-style:normal;font-size:11.5px;color:var(--qe2-faint)}
#qe-results-app .qe2-score{font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;flex:none}
#qe-results-app .p-green{background:var(--qe2-green-soft);color:#047857}
#qe-results-app .p-amber{background:#fffbeb;color:#b45309}
#qe-results-app .p-red{background:var(--qe2-red-soft);color:var(--qe2-red)}
/* missed bank */
#qe-results-app .qe2-bank{display:grid;grid-template-columns:230px 1fr;align-items:stretch}
#qe-results-app .qe2-bank-count{position:relative;display:flex;flex-direction:column;justify-content:center;padding:18px 22px;border-right:1px solid var(--qe2-border2)}
#qe-results-app .qe2-big-num{font-size:34px;font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--qe2-text)}
#qe-results-app .qe2-big-sub{font-size:12.5px;color:var(--qe2-faint);margin-top:4px}
#qe-results-app .qe2-bank-empty{padding:18px 22px;font-size:13px;color:var(--qe2-faint)}
#qe-results-app .qe2-q{display:flex;align-items:center;gap:12px;padding:12px 22px;border-top:1px solid var(--qe2-border2);font-size:13px;font-weight:500;color:#334155}
#qe-results-app .qe2-q:first-child{border-top:0}
#qe-results-app .qe2-q-txt{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#qe-results-app .qe2-q-tag{font-size:11px;font-weight:600;color:#475569;background:#f1f3f8;padding:3px 9px;border-radius:999px;flex:none}
#qe-results-app .qe2-q-miss{font-size:11px;font-weight:700;color:var(--qe2-red);background:var(--qe2-red-soft);padding:3px 9px;border-radius:999px;flex:none}
/* empty + footer */
#qe-results-app .qe2-empty{padding:44px 24px;text-align:center}
#qe-results-app .qe2-empty-ic{font-size:34px;margin-bottom:10px}
#qe-results-app .qe2-empty h2{margin:0 0 6px}
#qe-results-app .qe2-empty .qe2-hint{font-size:14px;color:var(--qe2-muted);max-width:44ch;margin:0 auto}
#qe-results-app .qe2-empty .qe2-p-cta{justify-content:center}
#qe-results-app .qe2-foot{margin:26px 0 8px;text-align:center;font-size:12.5px;color:var(--qe2-faint)}
#qe-results-app .qe2-foot a{color:var(--qe2-accent);font-weight:600}
/* responsive */
@media (max-width:960px){
#qe-results-app .qe2-hero{grid-template-columns:1fr;padding:26px;gap:28px}
#qe-results-app .qe2-preview{transform:none;max-width:360px;margin:0 auto}
#qe-results-app .qe2-tgrid{grid-template-columns:1fr}
#qe-results-app .qe2-span2{grid-column:auto}
#qe-results-app .qe2-bank{grid-template-columns:1fr}
#qe-results-app .qe2-bank-count{border-right:0;border-bottom:1px solid var(--qe2-border2)}
}
@media (max-width:600px){
#qe-results-app .qe2-b-name{width:118px}
#qe-results-app .qe2-b-val{width:34px}
#qe-results-app .qe2-q{flex-wrap:wrap}
#qe-results-app .qe2-q-txt{flex-basis:100%}
#qe-results-app{padding:16px 12px 4px}
#qe-results-app h1{font-size:20px}
}

/* ===== v0.17.2: profile page (qe2 design system, scoped to #qe-profile-app) ===== */
#qe-profile-app{--qe2-bg:#f5f6f8;--qe2-surface:#fff;--qe2-border:#e7eaf0;--qe2-border2:#f0f2f6;--qe2-text:#0f172a;--qe2-muted:#64748b;--qe2-faint:#94a3b8;--qe2-accent:#4f46e5;--qe2-accent-dark:#4338ca;--qe2-accent-soft:#eef2ff;--qe2-green:#059669;--qe2-green-soft:#ecfdf5;--qe2-red:#dc2626;--qe2-red-soft:#fef2f2;--qe2-radius:16px;--qe2-shadow:0 1px 2px rgba(16,24,40,.04);font-family:'Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;background:transparent;color:var(--qe2-text);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;text-align:left;border-radius:0;padding:22px 0 8px;margin:0}
#qe-profile-app *{box-sizing:border-box}
#qe-profile-app a{color:inherit;text-decoration:none}
#qe-profile-app button{font-family:inherit;cursor:pointer}
#qe-profile-app .qe2-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
#qe-profile-app .ic{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none;width:15px;height:15px}
/* page head */
#qe-profile-app .qe2-page-head{padding-bottom:22px}
#qe-profile-app .qe2-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-bottom:18px}
#qe-profile-app h1{font-size:23px;font-weight:700;letter-spacing:-.01em;margin:0;color:var(--qe2-text)}
#qe-profile-app .qe2-pill-plan{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#64748b;background:#eef1f5;border:1px solid var(--qe2-border);padding:3px 9px;border-radius:999px;margin-left:10px;vertical-align:4px}
#qe-profile-app .qe2-id-meta{font-size:13.5px;color:var(--qe2-muted);margin-top:4px}
#qe-profile-app .qe2-chips{display:flex;gap:8px;flex-wrap:wrap}
#qe-profile-app .qe2-chip{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:#334155;background:#fff;border:1px solid var(--qe2-border);padding:7px 12px;border-radius:999px}
/* buttons */
#qe-profile-app .qe2-btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:13.5px;border-radius:10px;padding:9px 15px;border:1px solid transparent;transition:all .15s ease;margin:4px 6px 4px 0}
#qe-profile-app .qe2-btn-primary{background:var(--qe2-accent);color:#fff}
#qe-profile-app .qe2-btn-primary:hover{background:var(--qe2-accent-dark);color:#fff}
#qe-profile-app .qe2-btn-white{background:#fff;color:#111527}
#qe-profile-app .qe2-btn-white:hover{background:#e9ebf5}
#qe-profile-app .qe2-btn-pol{border-color:#3b4463;color:#dfe3f0;background:transparent}
#qe-profile-app .qe2-btn-pol:hover{border-color:#525c85;background:rgba(255,255,255,.04)}
@keyframes qe2pulse{0%{box-shadow:0 0 0 0 rgba(129,140,248,.55)}100%{box-shadow:0 0 0 16px rgba(129,140,248,0)}}
#qe-profile-app .qe2-pulse{animation:qe2pulse .8s ease-out 2}
/* teaser/lock primitives */
#qe-profile-app .qe2-teaser{filter:blur(5px);user-select:none;pointer-events:none}
#qe-profile-app .qe2-lockchip{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;background:rgba(15,23,42,.92);color:#fff;font-size:11px;font-weight:700;padding:6px 11px;border-radius:999px;box-shadow:0 6px 18px rgba(15,23,42,.35)}
#qe-profile-app .qe2-lockchip .ic{width:12px;height:12px;min-width:12px;min-height:12px;max-width:12px;max-height:12px;stroke-width:2.2}
#qe-profile-app .qe2-lockpill{margin-left:auto;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#c7d2fe;background:rgba(99,102,241,.16);padding:4px 10px;border-radius:999px;display:flex;gap:5px;align-items:center;flex:none}
#qe-profile-app .qe2-lockpill .ic{width:11px;height:11px}
#qe-profile-app .qe2-lockpill.light{color:#64748b;background:#f1f3f8}
#qe-profile-app .qe2-zap{width:34px;height:34px;border-radius:10px;background:rgba(99,102,241,.18);color:#a5b4fc;display:grid;place-items:center;flex:none;font-size:15px}
#qe-profile-app .qe2-ok-pill{margin-left:auto;font-size:11px;font-weight:700;letter-spacing:.05em;color:#a7f3d0;background:rgba(5,150,105,.18);padding:4px 10px;border-radius:999px}
/* hero */
#qe-profile-app .qe2-hero{position:relative;overflow:hidden;background:linear-gradient(160deg,#161b30,#0c1020);border:1px solid #232a45;border-radius:20px;padding:32px;display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:center;box-shadow:var(--qe2-shadow)}
#qe-profile-app .qe2-hero::before{content:"";position:absolute;width:440px;height:440px;right:-120px;top:-170px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.28),transparent 65%);pointer-events:none}
#qe-profile-app .qe2-hero-copy{position:relative;z-index:1}
#qe-profile-app .qe2-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:16px}
#qe-profile-app .qe2-eyebrow-txt{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#a5b4fc}
#qe-profile-app .qe2-hero-title{font-size:25px;font-weight:800;letter-spacing:-.02em;line-height:1.2;color:#fff;margin:0}
#qe-profile-app .qe2-hero-lede{font-size:13.5px;color:#aeb6cc;margin:12px 0 4px;max-width:46ch}
#qe-profile-app .qe2-hero-lede b{color:#eef0f7}
#qe-profile-app .qe2-pli{display:flex;gap:11px;padding:11px 0;border-top:1px solid rgba(255,255,255,.07);align-items:flex-start}
#qe-profile-app .qe2-pli .ic{width:15px;height:15px;color:#818cf8;margin-top:3px}
#qe-profile-app .qe2-pli b{display:block;font-size:13.5px;color:#eef0f7;font-weight:600}
#qe-profile-app .qe2-pli span{display:block;font-size:12.5px;color:#8d96ad;margin-top:1px}
#qe-profile-app .qe2-p-cta{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
#qe-profile-app .qe2-p-note{font-size:11.5px;color:#6d7690;margin-top:13px}
/* preview card */
#qe-profile-app .qe2-hero-preview{position:relative;z-index:1;display:flex;justify-content:center}
#qe-profile-app .qe2-preview{background:#fff;border-radius:16px;padding:20px;width:100%;max-width:330px;box-shadow:0 24px 60px rgba(0,0,0,.45);transform:rotate(2.4deg)}
#qe-profile-app .qe2-preview-flat{transform:none;box-shadow:0 10px 30px rgba(0,0,0,.35)}
#qe-profile-app .qe2-pv-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
#qe-profile-app .qe2-pv-title{font-size:13px;font-weight:700;color:var(--qe2-text)}
#qe-profile-app .qe2-pv-sub{font-size:11.5px;color:var(--qe2-faint)}
#qe-profile-app .qe2-pv-chip{font-size:11px;font-weight:700;color:#047857;background:var(--qe2-green-soft);padding:4px 10px;border-radius:999px;flex:none}
#qe-profile-app .qe2-gauge-wrap{position:relative;display:grid;place-items:center;padding:10px 0 4px}
#qe-profile-app .qe2-gauge{width:150px;height:150px}
#qe-profile-app .qe2-pv-rows{margin-top:8px}
#qe-profile-app .qe2-pv-row{display:flex;align-items:flex-start;gap:8px;font-size:12px;font-weight:500;color:#475569;padding:7px 0;border-top:1px solid var(--qe2-border2)}
#qe-profile-app .qe2-pv-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex:none}
/* cards grid */
#qe-profile-app .qe2-tgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;align-items:start}
#qe-profile-app .qe2-span2{grid-column:1/-1}
#qe-profile-app .qe2-card{background:var(--qe2-surface);border:1px solid var(--qe2-border);border-radius:var(--qe2-radius);box-shadow:var(--qe2-shadow)}
#qe-profile-app .qe2-card h2{font-size:15.5px;font-weight:700;margin:0}
#qe-profile-app .qe2-card-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:18px 20px 14px}
#qe-profile-app .qe2-card-h .qe2-hint{display:block;font-size:12.5px;color:var(--qe2-faint);margin-top:2px;font-weight:400}
#qe-profile-app .qe2-card-f{border-top:1px solid var(--qe2-border2);padding:12px 20px}
#qe-profile-app .qe2-unlock-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--qe2-accent)}
#qe-profile-app .qe2-unlock-link .ic{width:14px;height:14px;transition:transform .15s}
#qe-profile-app .qe2-unlock-link:hover .ic{transform:translateX(3px)}
/* category bars */
#qe-profile-app .qe2-brow{display:flex;align-items:center;gap:12px;padding:12px 20px;border-top:1px solid var(--qe2-border2)}
#qe-profile-app .qe2-b-name{width:180px;font-size:13px;font-weight:600;color:#334155;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#qe-profile-app .qe2-b-track{flex:1;height:8px;border-radius:99px;background:#eef1f6;overflow:hidden}
#qe-profile-app .qe2-b-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#818cf8,#4f46e5)}
#qe-profile-app .qe2-b-val{width:38px;text-align:right;font-size:12.5px;font-weight:700;color:#334155}
/* chart + attempts */
#qe-profile-app .qe2-chart-wrap{position:relative;padding:8px 20px 0}
#qe-profile-app .qe2-chart-wrap svg{width:100%;height:auto;display:block}
#qe-profile-app .qe2-attempts{list-style:none;margin:10px 0 0;padding:0}
#qe-profile-app .qe2-att{display:flex;align-items:center;gap:12px;padding:11px 20px;border-top:1px solid var(--qe2-border2)}
#qe-profile-app .qe2-att-ic{width:32px;height:32px;border-radius:9px;background:#f1f3f8;color:#64748b;display:grid;place-items:center;flex:none;font-size:14px}
#qe-profile-app .qe2-att-body{flex:1;min-width:0}
#qe-profile-app .qe2-att-body b{display:block;font-size:13px;font-weight:600;color:var(--qe2-text)}
#qe-profile-app .qe2-att-body i{display:block;font-style:normal;font-size:11.5px;color:var(--qe2-faint)}
#qe-profile-app .qe2-score{font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;flex:none}
#qe-profile-app .p-green{background:var(--qe2-green-soft);color:#047857}
#qe-profile-app .p-amber{background:#fffbeb;color:#b45309}
#qe-profile-app .p-red{background:var(--qe2-red-soft);color:var(--qe2-red)}
/* missed bank */
#qe-profile-app .qe2-bank{display:grid;grid-template-columns:230px 1fr;align-items:stretch}
#qe-profile-app .qe2-bank-count{position:relative;display:flex;flex-direction:column;justify-content:center;padding:18px 22px;border-right:1px solid var(--qe2-border2)}
#qe-profile-app .qe2-big-num{font-size:34px;font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--qe2-text)}
#qe-profile-app .qe2-big-sub{font-size:12.5px;color:var(--qe2-faint);margin-top:4px}
#qe-profile-app .qe2-bank-empty{padding:18px 22px;font-size:13px;color:var(--qe2-faint)}
#qe-profile-app .qe2-q{display:flex;align-items:center;gap:12px;padding:12px 22px;border-top:1px solid var(--qe2-border2);font-size:13px;font-weight:500;color:#334155}
#qe-profile-app .qe2-q:first-child{border-top:0}
#qe-profile-app .qe2-q-txt{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#qe-profile-app .qe2-q-tag{font-size:11px;font-weight:600;color:#475569;background:#f1f3f8;padding:3px 9px;border-radius:999px;flex:none}
#qe-profile-app .qe2-q-miss{font-size:11px;font-weight:700;color:var(--qe2-red);background:var(--qe2-red-soft);padding:3px 9px;border-radius:999px;flex:none}
/* empty + footer */
#qe-profile-app .qe2-empty{padding:44px 24px;text-align:center}
#qe-profile-app .qe2-empty-ic{font-size:34px;margin-bottom:10px}
#qe-profile-app .qe2-empty h2{margin:0 0 6px}
#qe-profile-app .qe2-empty .qe2-hint{font-size:14px;color:var(--qe2-muted);max-width:44ch;margin:0 auto}
#qe-profile-app .qe2-empty .qe2-p-cta{justify-content:center}
#qe-profile-app .qe2-foot{margin:26px 0 8px;text-align:center;font-size:12.5px;color:var(--qe2-faint)}
#qe-profile-app .qe2-foot a{color:var(--qe2-accent);font-weight:600}
/* responsive */
@media (max-width:960px){
#qe-profile-app .qe2-hero{grid-template-columns:1fr;padding:26px;gap:28px}
#qe-profile-app .qe2-preview{transform:none;max-width:360px;margin:0 auto}
#qe-profile-app .qe2-tgrid{grid-template-columns:1fr}
#qe-profile-app .qe2-span2{grid-column:auto}
#qe-profile-app .qe2-bank{grid-template-columns:1fr}
#qe-profile-app .qe2-bank-count{border-right:0;border-bottom:1px solid var(--qe2-border2)}
}
@media (max-width:600px){
#qe-profile-app .qe2-b-name{width:118px}
#qe-profile-app .qe2-b-val{width:34px}
#qe-profile-app .qe2-q{flex-wrap:wrap}
#qe-profile-app .qe2-q-txt{flex-basis:100%}
#qe-profile-app{padding:16px 12px 4px}
#qe-profile-app h1{font-size:20px}
}

#qe-profile-app .qe2-pf-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:26px 0 22px}
#qe-profile-app .qe2-pf-hero .qe2-id-wrap{display:flex;gap:18px;align-items:center;flex:1;min-width:240px}
#qe-profile-app .qe2-pf-ava{width:72px;height:72px;border-radius:20px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:grid;place-items:center;font-size:26px;font-weight:700;box-shadow:var(--qe2-shadow);flex:none}
#qe-profile-app .qe2-pf-hero > div:not(.qe2-pf-ava):not(.qe2-pf-actions){flex:1;min-width:240px}
#qe-profile-app .qe2-pf-actions{display:flex;gap:10px;flex-wrap:wrap;margin-left:auto;flex:none;align-items:center}
#qe-profile-app .qe2-btn-outline{background:#fff;border-color:#dfe3ea;color:#334155}
#qe-profile-app .qe2-btn-outline:hover{border-color:#c6cdda;background:#f8fafc}
#qe-profile-app .qe2-btn-ghost{color:var(--qe2-red);background:transparent}
#qe-profile-app .qe2-btn-ghost:hover{background:var(--qe2-red-soft)}
#qe-profile-app .qe2-btn-green{background:var(--qe2-green);color:#fff}
#qe-profile-app .qe2-btn-green:hover{background:#047857}
#qe-profile-app .qe2-btn-sm{padding:7px 12px;font-size:12.5px}
/* stat cards */
#qe-profile-app .qe2-pf-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
#qe-profile-app .qe2-stat{background:var(--qe2-surface);border:1px solid var(--qe2-border);border-radius:var(--qe2-radius);padding:18px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--qe2-shadow)}
#qe-profile-app .s-top{display:flex;align-items:center;gap:8px}
#qe-profile-app .s-ico{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;flex:none}
#qe-profile-app .i-indigo{background:var(--qe2-accent-soft);color:var(--qe2-accent)}
#qe-profile-app .i-teal{background:#ecfeff;color:#0891b2}
#qe-profile-app .i-amber{background:#fffbeb;color:#d97706}
#qe-profile-app .i-red{background:var(--qe2-red-soft);color:var(--qe2-red)}
#qe-profile-app .s-label{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--qe2-faint)}
#qe-profile-app .s-num{font-size:30px;font-weight:700;letter-spacing:-.03em;line-height:1}
#qe-profile-app .s-num small{font-size:14px;font-weight:600;color:var(--qe2-muted);margin-left:4px;letter-spacing:0}
#qe-profile-app .s-sub{font-size:12.5px;color:var(--qe2-muted)}
#qe-profile-app .s-sub b{color:var(--qe2-text);font-weight:600}
#qe-profile-app .trend{color:var(--qe2-green);font-weight:600}
#qe-profile-app .ring-wrap{display:flex;align-items:center;gap:14px}
#qe-profile-app .qe2-ring{width:58px;height:58px;flex:none}
#qe-profile-app .qe2-stat .qe2-btn{margin-top:auto;align-self:flex-start}
#qe-profile-app .qe2-dots{display:flex;gap:5px;margin-top:8px}
#qe-profile-app .qe2-dot{width:9px;height:9px;border-radius:50%;background:#e6eaf0}
#qe-profile-app .qe2-dot.on{background:#10b981}
/* recommended band */
#qe-profile-app .qe2-reco{margin-top:16px;background:linear-gradient(120deg,#eef2ff 0%,#fff 55%);border:1px solid #e0e6fb;border-radius:var(--qe2-radius);padding:20px;display:flex;gap:18px;align-items:center;box-shadow:var(--qe2-shadow)}
#qe-profile-app .reco-ico{width:44px;height:44px;border-radius:12px;background:var(--qe2-accent);color:#fff;display:grid;place-items:center;flex:none}
#qe-profile-app .reco-ico .ic{width:20px;height:20px}
#qe-profile-app .reco-tag{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--qe2-accent)}
#qe-profile-app .qe2-reco h3{font-size:16.5px;font-weight:700;margin:2px 0 0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#qe-profile-app .acc-pill{font-size:11.5px;font-weight:600;color:var(--qe2-red);background:var(--qe2-red-soft);padding:3px 9px;border-radius:999px}
#qe-profile-app .qe2-reco p{font-size:13px;color:var(--qe2-muted);margin:3px 0 0}
#qe-profile-app .qe2-reco > div{flex:1;min-width:200px}
#qe-profile-app .qe2-reco .qe2-btn{margin-left:auto;flex:none}
/* two-column: history + aside */
#qe-profile-app .qe2-pf-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:16px;margin-top:16px;align-items:start}
#qe-profile-app .qe2-pf-grid2{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;align-items:start;padding-bottom:8px}
#qe-profile-app .card-h{display:flex;align-items:baseline;justify-content:space-between;padding:18px 20px 14px;gap:10px}
#qe-profile-app .card-h h2{font-size:15.5px;font-weight:700;margin:0}
#qe-profile-app .card-h .hint{font-size:12.5px;color:var(--qe2-faint)}
#qe-profile-app .qe2-tests{list-style:none;margin:0;padding:0}
#qe-profile-app .qe2-test{display:flex;align-items:center;gap:13px;padding:12px 20px;border-top:1px solid var(--qe2-border2);transition:background .12s}
#qe-profile-app .qe2-test:hover{background:#fafbfd}
#qe-profile-app .t-ico{width:34px;height:34px;border-radius:10px;background:#f1f3f8;color:#64748b;display:grid;place-items:center;flex:none}
#qe-profile-app .t-body{flex:1;min-width:0}
#qe-profile-app .t-name{display:block;font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--qe2-text)}
#qe-profile-app .t-meta{display:block;font-size:12px;color:var(--qe2-faint);margin-top:1px}
#qe-profile-app .chev{width:15px;height:15px;color:#c6ccd8}
#qe-profile-app .hidden{display:none}
#qe-profile-app .qe2-more{width:100%;padding:13px;background:none;border:none;border-top:1px solid var(--qe2-border2);color:var(--qe2-accent);font-size:13px;font-weight:600;border-radius:0 0 var(--qe2-radius) var(--qe2-radius);cursor:pointer;font-family:inherit}
#qe-profile-app .qe2-more:hover{background:#fafbff}
/* dark premium/readiness aside */
#qe-profile-app .qe2-pf-aside{background:linear-gradient(160deg,#161b30,#0c1020);border:1px solid #232a45;border-radius:var(--qe2-radius);padding:22px;color:#aeb6cc;box-shadow:var(--qe2-shadow)}
#qe-profile-app .qe2-pf-aside .p-head{display:flex;align-items:center;gap:10px}
#qe-profile-app .qe2-pf-aside .zap{width:34px;height:34px;border-radius:10px;background:rgba(99,102,241,.18);color:#a5b4fc;display:grid;place-items:center;flex:none}
#qe-profile-app .qe2-pf-aside .zap .ic{width:16px;height:16px}
#qe-profile-app .qe2-pf-aside h2{font-size:16px;font-weight:700;color:#fff;margin:0}
#qe-profile-app .lockpill{margin-left:auto;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#c7d2fe;background:rgba(99,102,241,.16);padding:4px 10px;border-radius:999px;display:flex;gap:5px;align-items:center;flex:none}
#qe-profile-app .lockpill .ic{width:11px;height:11px}
#qe-profile-app .okpill{margin-left:auto;font-size:11px;font-weight:700;color:#a7f3d0;background:rgba(5,150,105,.18);padding:4px 10px;border-radius:999px;flex:none}
#qe-profile-app .qe2-pf-aside .lede{font-size:13px;margin:14px 0 6px}
#qe-profile-app .qe2-pf-aside .lede b{color:#eef0f7}
#qe-profile-app .qe2-pf-aside .pli{display:flex;gap:11px;padding:11px 0;border-top:1px solid rgba(255,255,255,.07)}
#qe-profile-app .qe2-pf-aside .pli .ic{width:15px;height:15px;color:#818cf8;margin-top:3px}
#qe-profile-app .qe2-pf-aside .pli b{display:block;font-size:13.5px;color:#eef0f7;font-weight:600}
#qe-profile-app .qe2-pf-aside .pli span{display:block;font-size:12.5px;color:#8d96ad;margin-top:1px}
#qe-profile-app .qe2-pf-aside .p-cta{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
#qe-profile-app .qe2-pf-aside .p-note{font-size:11.5px;color:#6d7690;margin-top:13px}
/* logged-out light checklist card */
#qe-profile-app .qe2-pli2{display:flex;gap:11px;padding:11px 20px 0;align-items:flex-start}
#qe-profile-app .qe2-pli2 .ic{width:15px;height:15px;color:var(--qe2-accent);margin-top:3px}
#qe-profile-app .qe2-pli2 b{display:block;font-size:13.5px;color:var(--qe2-text);font-weight:600}
#qe-profile-app .qe2-pli2 span{display:block;font-size:12.5px;color:var(--qe2-muted);margin-top:1px}
#qe-profile-app .qe2-pf-login .qe2-card-f{margin-top:16px}
/* responsive */
@media (max-width:1020px){
#qe-profile-app .qe2-pf-stats{grid-template-columns:repeat(2,1fr)}
#qe-profile-app .qe2-pf-grid,#qe-profile-app .qe2-pf-grid2{grid-template-columns:1fr}
}
@media (max-width:720px){
#qe-profile-app .qe2-pf-hero{flex-direction:column;align-items:flex-start}
#qe-profile-app .qe2-pf-actions{margin-left:0;width:100%}
}
@media (max-width:600px){
#qe-profile-app{padding:14px 10px 4px}
#qe-profile-app .qe2-pf-stats{grid-template-columns:1fr}
#qe-profile-app .qe2-pf-hero{padding:18px 0 16px}
#qe-profile-app .qe2-pf-ava{width:56px;height:56px;font-size:20px;border-radius:16px}
#qe-profile-app h1{font-size:20px}
#qe-profile-app .qe2-pf-actions .qe2-btn{flex:1;justify-content:center}
#qe-profile-app .qe2-reco{flex-wrap:wrap}
#qe-profile-app .qe2-reco .qe2-btn{margin-left:0;width:100%;justify-content:center}
}

/* ============================================================
   v0.17.7 - Missed Questions (qe2 design system)
   ============================================================ */
#qe-retry-app,.qe-inpost-retry{--qe2-bg:#f5f6f8;--qe2-surface:#fff;--qe2-border:#e7eaf0;--qe2-border2:#f0f2f6;--qe2-text:#0f172a;--qe2-muted:#64748b;--qe2-faint:#94a3b8;--qe2-accent:#4f46e5;--qe2-accent-dark:#4338ca;--qe2-radius:16px;--qe2-shadow:0 1px 2px rgba(16,24,40,.04);font-family:'Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;background:transparent;color:var(--qe2-text);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;text-align:left;margin:0}
#qe-retry-app *,.qe-inpost-retry *{box-sizing:border-box}
#qe-retry-app a,.qe-inpost-retry a{color:inherit;text-decoration:none}
#qe-retry-app button,.qe-inpost-retry button{font-family:inherit;cursor:pointer}
#qe-retry-app .ic,.qe-inpost-retry .ic{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none;width:15px;height:15px}
#qe-retry-app .qe2-page-head,.qe-inpost-retry .qe2-page-head{padding-bottom:22px}
#qe-retry-app .qe2-head-row,.qe-inpost-retry .qe2-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-bottom:18px}
#qe-retry-app h1,.qe-inpost-retry h1{font-size:23px;font-weight:700;letter-spacing:-.01em;margin:0;color:var(--qe2-text)}
#qe-retry-app .qe2-pill-plan,.qe-inpost-retry .qe2-pill-plan{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#64748b;background:#eef1f5;border:1px solid var(--qe2-border);padding:3px 9px;border-radius:999px;margin-left:10px;vertical-align:4px}
#qe-retry-app .qe2-id-meta,.qe-inpost-retry .qe2-id-meta{font-size:13.5px;color:var(--qe2-muted);margin-top:4px}
#qe-retry-app .qe2-chips,.qe-inpost-retry .qe2-chips{display:flex;gap:8px;flex-wrap:wrap}
#qe-retry-app .qe2-chip,.qe-inpost-retry .qe2-chip{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:#334155;background:#fff;border:1px solid var(--qe2-border);padding:7px 12px;border-radius:999px}
#qe-retry-app .qe2-chip .ic,.qe-inpost-retry .qe2-chip .ic{width:12px;height:12px}
#qe-retry-app .qe2mq-chip-lock,.qe-inpost-retry .qe2mq-chip-lock{color:#7c2d12;background:#fff7ed;border-color:#fed7aa}
#qe-retry-app .qe2-btn,.qe-inpost-retry .qe2-btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:13.5px;border-radius:10px;padding:9px 15px;border:1px solid transparent;transition:all .15s ease;margin:4px 6px 4px 0}
#qe-retry-app .qe2-btn-primary,.qe-inpost-retry .qe2-btn-primary{background:var(--qe2-accent);color:#fff}
#qe-retry-app .qe2-btn-primary:hover,.qe-inpost-retry .qe2-btn-primary:hover{background:var(--qe2-accent-dark);color:#fff}
#qe-retry-app .qe2-btn-white,.qe-inpost-retry .qe2-btn-white{background:#fff;color:#111527}
#qe-retry-app .qe2-btn:disabled,.qe-inpost-retry .qe2-btn:disabled{opacity:.45;cursor:not-allowed}
#qe-retry-app .qe2-teaser,.qe-inpost-retry .qe2-teaser{filter:blur(5px);user-select:none;pointer-events:none}
#qe-retry-app .qe2-lockpill,.qe-inpost-retry .qe2-lockpill{margin-left:auto;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#c7d2fe;background:rgba(99,102,241,.16);padding:4px 10px;border-radius:999px;display:flex;gap:5px;align-items:center;flex:none}
#qe-retry-app .qe2-lockpill .ic,.qe-inpost-retry .qe2-lockpill .ic{width:11px;height:11px}
#qe-retry-app .qe2-lockpill.light,.qe-inpost-retry .qe2-lockpill.light{color:#64748b;background:#f1f3f8}
#qe-retry-app .qe2-ok-pill,.qe-inpost-retry .qe2-ok-pill{margin-left:auto;font-size:11px;font-weight:700;letter-spacing:.05em;color:#a7f3d0;background:rgba(5,150,105,.18);padding:4px 10px;border-radius:999px}
#qe-retry-app .qe2-zap,.qe-inpost-retry .qe2-zap{width:34px;height:34px;border-radius:10px;background:rgba(99,102,241,.18);color:#a5b4fc;display:grid;place-items:center;flex:none;font-size:15px}
#qe-retry-app .qe2-tgrid,.qe-inpost-retry .qe2-tgrid{display:grid;grid-template-columns:1.6fr 1fr;gap:16px;margin-top:4px;align-items:start}
#qe-retry-app .qe2-card,.qe-inpost-retry .qe2-card{background:var(--qe2-surface);border:1px solid var(--qe2-border);border-radius:var(--qe2-radius);box-shadow:var(--qe2-shadow)}
#qe-retry-app .qe2-card h2,.qe-inpost-retry .qe2-card h2{font-size:15.5px;font-weight:700;margin:0}
#qe-retry-app .qe2-card-h,.qe-inpost-retry .qe2-card-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:18px 20px 14px}
#qe-retry-app .qe2-card-h .qe2-hint,.qe-inpost-retry .qe2-card-h .qe2-hint{display:block;font-size:12.5px;color:var(--qe2-faint);margin-top:2px;font-weight:400}
#qe-retry-app .qe2-card-f,.qe-inpost-retry .qe2-card-f{border-top:1px solid var(--qe2-border2);padding:12px 20px}
#qe-retry-app .qe2-unlock-link,.qe-inpost-retry .qe2-unlock-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--qe2-muted)}
#qe-retry-app .qe2-unlock-link:hover,.qe-inpost-retry .qe2-unlock-link:hover{color:var(--qe2-accent)}
#qe-retry-app .qe2-brow,.qe-inpost-retry .qe2-brow{display:flex;align-items:center;gap:12px;padding:12px 20px;border-top:1px solid var(--qe2-border2)}
#qe-retry-app .qe2-b-name,.qe-inpost-retry .qe2-b-name{width:180px;font-size:13px;font-weight:600;color:#334155;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#qe-retry-app .qe2-b-track,.qe-inpost-retry .qe2-b-track{flex:1;height:8px;border-radius:99px;background:#eef1f6;overflow:hidden}
#qe-retry-app .qe2-b-fill,.qe-inpost-retry .qe2-b-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#818cf8,#4f46e5)}
#qe-retry-app .qe2-b-val,.qe-inpost-retry .qe2-b-val{width:38px;text-align:right;font-size:12.5px;font-weight:700;color:#334155}
#qe-retry-app .qe2-p-cta,.qe-inpost-retry .qe2-p-cta{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap;justify-content:center}
#qe-retry-app .qe2-empty-ic,.qe-inpost-retry .qe2-empty-ic{font-size:34px;margin-bottom:8px}
#qe-retry-app .qe2-hint,.qe-inpost-retry .qe2-hint{color:var(--qe2-muted);font-size:13.5px;margin:6px 0 0}
#qe-retry-app .qe2-pli2,.qe-inpost-retry .qe2-pli2{display:flex;gap:11px;padding:11px 0;border-top:1px solid var(--qe2-border2);align-items:flex-start}
#qe-retry-app .qe2-pli2:first-child,.qe-inpost-retry .qe2-pli2:first-child{border-top:none}
#qe-retry-app .qe2-pli2 .ic,.qe-inpost-retry .qe2-pli2 .ic{width:15px;height:15px;color:#818cf8;margin-top:3px}
#qe-retry-app .qe2-pli2 b,.qe-inpost-retry .qe2-pli2 b{display:block;font-size:13.5px;color:var(--qe2-text);font-weight:600}
#qe-retry-app .qe2-pli2 span,.qe-inpost-retry .qe2-pli2 span{display:block;font-size:12.5px;color:var(--qe2-muted);margin-top:1px}
/* empty card */
#qe-retry-app .qe2mq-empty,.qe-inpost-retry .qe2mq-empty{text-align:center;padding:44px 24px}
#qe-retry-app .qe2mq-empty h2,.qe-inpost-retry .qe2mq-empty h2{font-size:18px;margin:6px 0 0}
/* stat tiles */
#qe-retry-app .qe2mq-tiles,.qe-inpost-retry .qe2mq-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:4px 20px 14px}
#qe-retry-app .qe2mq-tile,.qe-inpost-retry .qe2mq-tile{background:#f8f9fc;border:1px solid var(--qe2-border2);border-radius:12px;padding:12px 10px;text-align:center}
#qe-retry-app .qe2mq-t-num,.qe-inpost-retry .qe2mq-t-num{display:block;font-size:22px;font-weight:800;color:var(--qe2-accent);line-height:1.15}
#qe-retry-app .qe2mq-t-label,.qe-inpost-retry .qe2mq-t-label{display:block;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--qe2-faint);margin-top:3px}
/* category section */
#qe-retry-app .qe2mq-cat-h,.qe-inpost-retry .qe2mq-cat-h{padding:14px 20px 2px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--qe2-faint)}
/* bank rows */
#qe-retry-app .qe2mq-banks,.qe-inpost-retry .qe2mq-banks{padding:6px 20px 14px}
#qe-retry-app .qe2mq-bank,.qe-inpost-retry .qe2mq-bank{display:flex;align-items:center;gap:14px;padding:13px 0;border-top:1px solid var(--qe2-border2)}
#qe-retry-app .qe2mq-bank:first-child,.qe-inpost-retry .qe2mq-bank:first-child{border-top:none}
#qe-retry-app .qe2mq-bank-ic,.qe-inpost-retry .qe2mq-bank-ic{width:36px;height:36px;border-radius:10px;background:#eef2ff;color:#4f46e5;display:grid;place-items:center;font-size:15px;flex:none}
#qe-retry-app .qe2mq-bank-body,.qe-inpost-retry .qe2mq-bank-body{flex:1;min-width:0}
#qe-retry-app .qe2mq-bank-body b,.qe-inpost-retry .qe2mq-bank-body b{display:block;font-size:13.5px;font-weight:600;color:var(--qe2-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#qe-retry-app .qe2mq-bank-body span,.qe-inpost-retry .qe2mq-bank-body span{display:block;font-size:12px;color:var(--qe2-faint);margin-top:1px}
#qe-retry-app .qe2mq-locknote,.qe-inpost-retry .qe2mq-locknote{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:#7c2d12;background:#fff7ed;border:1px solid #fed7aa;padding:4px 9px;border-radius:999px;flex:none}
#qe-retry-app .qe2mq-locknote .ic,.qe-inpost-retry .qe2mq-locknote .ic{width:11px;height:11px}
#qe-retry-app .qe2mq-retry-btn,.qe-inpost-retry .qe2mq-retry-btn{padding:8px 13px;font-size:12.5px;flex:none;margin:0}
#qe-retry-app .qe2mq-clear,.qe-inpost-retry .qe2mq-clear{background:none;border:1px solid var(--qe2-border);color:#94a3b8;width:34px;height:34px;border-radius:8px;font-size:18px;line-height:1;flex:none;display:grid;place-items:center;padding:0;font-family:system-ui,sans-serif}
#qe-retry-app .qe2mq-clear:hover,.qe-inpost-retry .qe2mq-clear:hover{color:#dc2626;border-color:#fecaca}
/* mixed band (dark) */
#qe-retry-app .qe2mq-mixed,.qe-inpost-retry .qe2mq-mixed{position:relative;overflow:hidden;display:flex;align-items:center;gap:16px;margin-top:16px;background:linear-gradient(160deg,#161b30,#0c1020);border:1px solid #232a45;border-radius:20px;padding:22px 24px}
#qe-retry-app .qe2mq-mixed::before,.qe-inpost-retry .qe2mq-mixed::before{content:"";position:absolute;width:300px;height:300px;right:-90px;top:-120px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.28),transparent 65%);pointer-events:none}
#qe-retry-app .qe2mq-mixed-copy,.qe-inpost-retry .qe2mq-mixed-copy{flex:1;position:relative;z-index:1}
#qe-retry-app .qe2mq-mixed-copy b,.qe-inpost-retry .qe2mq-mixed-copy b{display:block;font-size:15.5px;font-weight:700;color:#fff}
#qe-retry-app .qe2mq-mixed-copy span,.qe-inpost-retry .qe2mq-mixed-copy span{display:block;font-size:12.5px;color:#8d96ad;margin-top:2px}
#qe-retry-app .qe2mq-mixed .qe2-btn,.qe-inpost-retry .qe2mq-mixed .qe2-btn{margin:0;flex:none;position:relative;z-index:1}
#qe-retry-app .qe2mq-aside-body,.qe-inpost-retry .qe2mq-aside-body{padding:0 20px 6px}
#qe-retry-app .qe2mq-aside .qe2-card-f,.qe-inpost-retry .qe2mq-aside .qe2-card-f{display:flex;justify-content:center}
/* ---------- player ---------- */
#qe-retry-app .qe2mq-player .qe2mq-p-head,.qe-inpost-retry .qe2mq-player .qe2mq-p-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
#qe-retry-app .qe2mq-back,.qe-inpost-retry .qe2mq-back{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--qe2-muted)}
#qe-retry-app .qe2mq-back:hover,.qe-inpost-retry .qe2mq-back:hover{color:var(--qe2-accent)}
#qe-retry-app .qe2mq-p-title,.qe-inpost-retry .qe2mq-p-title{font-size:14px;font-weight:700;color:var(--qe2-text);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#qe-retry-app .qe2mq-chip-hot,.qe-inpost-retry .qe2mq-chip-hot{color:#b45309;background:#fffbeb;border-color:#fde68a;flex:none}
#qe-retry-app .qe2mq-progress,.qe-inpost-retry .qe2mq-progress{height:6px;border-radius:99px;background:#e7eaf0;overflow:hidden}
#qe-retry-app .qe2mq-progress-fill,.qe-inpost-retry .qe2mq-progress-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#818cf8,#4f46e5);transition:width .3s}
#qe-retry-app .qe2mq-p-count,.qe-inpost-retry .qe2mq-p-count{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--qe2-faint);margin:12px 0 10px;display:flex;align-items:center;gap:8px}
#qe-retry-app .qe2mq-lockchip-inline,.qe-inpost-retry .qe2mq-lockchip-inline{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;color:#7c2d12;background:#fff7ed;border:1px solid #fed7aa;padding:2px 8px;border-radius:999px;letter-spacing:.02em}
#qe-retry-app .qe2mq-lockchip-inline .ic,.qe-inpost-retry .qe2mq-lockchip-inline .ic{width:10px;height:10px}
#qe-retry-app .qe2mq-qcard,.qe-inpost-retry .qe2mq-qcard{padding:24px}
#qe-retry-app .qe2mq-cat,.qe-inpost-retry .qe2mq-cat{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--qe2-accent);background:#eef2ff;border-radius:999px;padding:4px 11px;margin-bottom:12px}
#qe-retry-app .qe2mq-qtext,.qe-inpost-retry .qe2mq-qtext{font-size:16.5px;font-weight:600;line-height:1.5;color:var(--qe2-text);margin-bottom:18px}
#qe-retry-app .qe2mq-opts,.qe-inpost-retry .qe2mq-opts{list-style:none;margin:0 0 8px;padding:0}
#qe-retry-app .qe2mq-opt,.qe-inpost-retry .qe2mq-opt{display:flex;align-items:flex-start;gap:12px;border:1.5px solid var(--qe2-border);border-radius:12px;padding:13px 15px;margin:9px 0;font-size:14.5px;color:#334155;background:#fff;cursor:pointer;transition:border-color .12s,background .12s}
#qe-retry-app .qe2mq-opt:hover,.qe-inpost-retry .qe2mq-opt:hover{border-color:#c7cdf8}
#qe-retry-app .qe2mq-letter,.qe-inpost-retry .qe2mq-letter{width:26px;height:26px;border-radius:8px;background:#eef1f5;color:#64748b;font-size:12.5px;font-weight:700;display:grid;place-items:center;flex:none;margin-top:1px}
#qe-retry-app .qe2mq-selected,.qe-inpost-retry .qe2mq-selected{border-color:var(--qe2-accent);background:#eef2ff}
#qe-retry-app .qe2mq-selected .qe2mq-letter,.qe-inpost-retry .qe2mq-selected .qe2mq-letter{background:var(--qe2-accent);color:#fff}
#qe-retry-app .qe2mq-correct,.qe-inpost-retry .qe2mq-correct{border-color:#059669!important;background:#ecfdf5!important}
#qe-retry-app .qe2mq-correct .qe2mq-letter,.qe-inpost-retry .qe2mq-correct .qe2mq-letter{background:#059669!important;color:#fff!important}
#qe-retry-app .qe2mq-wrong,.qe-inpost-retry .qe2mq-wrong{border-color:#dc2626!important;background:#fef2f2!important}
#qe-retry-app .qe2mq-wrong .qe2mq-letter,.qe-inpost-retry .qe2mq-wrong .qe2mq-letter{background:#dc2626!important;color:#fff!important}
#qe-retry-app .qe2mq-feedback,.qe-inpost-retry .qe2mq-feedback{border-radius:12px;padding:14px 16px;margin-top:8px;font-size:13.5px}
#qe-retry-app .qe2mq-fb-ok,.qe-inpost-retry .qe2mq-fb-ok{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}
#qe-retry-app .qe2mq-fb-bad,.qe-inpost-retry .qe2mq-fb-bad{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}
#qe-retry-app .qe2mq-expl,.qe-inpost-retry .qe2mq-expl{margin-top:8px;color:#374151;line-height:1.55}
#qe-retry-app .qe2mq-actions,.qe-inpost-retry .qe2mq-actions{display:flex;align-items:center;gap:14px;margin-top:16px;flex-wrap:wrap}
#qe-retry-app .qe2mq-check,.qe-inpost-retry .qe2mq-check{margin:0}
#qe-retry-app .qe2mq-kbd-hint,.qe-inpost-retry .qe2mq-kbd-hint{font-size:11.5px;color:var(--qe2-faint)}
/* flag row keeps old class but restyled to fit */
#qe-retry-app .qe-rq-flagrow .qe-flag,.qe-inpost-retry .qe-rq-flagrow .qe-flag{font-family:inherit}
/* ---------- finish screen ---------- */
#qe-retry-app .qe2mq-finish,.qe-inpost-retry .qe2mq-finish{display:flex;justify-content:center;padding:12px 0}
#qe-retry-app .qe2mq-finish-card,.qe-inpost-retry .qe2mq-finish-card{max-width:560px;width:100%;padding:28px}
#qe-retry-app .qe2mq-finish-top,.qe-inpost-retry .qe2mq-finish-top{display:flex;align-items:center;gap:22px}
#qe-retry-app .qe2-gauge,.qe-inpost-retry .qe2-gauge{width:130px;height:130px;flex:none}
#qe-retry-app .qe2mq-finish-copy h2,.qe-inpost-retry .qe2mq-finish-copy h2{font-size:19px;margin:0}
#qe-retry-app .qe2mq-finish-stats,.qe-inpost-retry .qe2mq-finish-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0 6px}
#qe-retry-app .qe2mq-finish-lock,.qe-inpost-retry .qe2mq-finish-lock{margin-top:14px;padding:14px 18px;border:1px solid #e7eaf0;border-radius:12px;background:#f8f9fc}
#qe-retry-app .qe2mq-finish-lock b,.qe-inpost-retry .qe2mq-finish-lock b{display:block;font-size:13.5px;margin-bottom:4px}
#qe-retry-app .qe2mq-finish-lock span,.qe-inpost-retry .qe2mq-finish-lock span{display:block;font-size:12.5px;color:var(--qe2-muted);margin-bottom:10px}
#qe-retry-app .qe2mq-finish-cta,.qe-inpost-retry .qe2mq-finish-cta{margin-top:16px;display:flex;flex-wrap:wrap;justify-content:center}
@media (max-width:860px){
#qe-retry-app .qe2-tgrid,.qe-inpost-retry .qe2-tgrid{grid-template-columns:1fr}
#qe-retry-app .qe2mq-tiles,.qe-inpost-retry .qe2mq-tiles{grid-template-columns:repeat(2,1fr)}
#qe-retry-app .qe2mq-finish-top,.qe-inpost-retry .qe2mq-finish-top{flex-direction:column;text-align:center}
#qe-retry-app .qe2mq-mixed,.qe-inpost-retry .qe2mq-mixed{flex-wrap:wrap}
#qe-retry-app .qe2mq-bank,.qe-inpost-retry .qe2mq-bank{flex-wrap:wrap}
#qe-retry-app .qe2-b-name,.qe-inpost-retry .qe2-b-name{width:130px}
}
@media (max-width:480px){
#qe-retry-app .qe2mq-tiles,.qe-inpost-retry .qe2mq-tiles{grid-template-columns:repeat(2,1fr)}
#qe-retry-app .qe2mq-qcard,.qe-inpost-retry .qe2mq-qcard{padding:18px}
#qe-retry-app .qe2mq-finish-card,.qe-inpost-retry .qe2mq-finish-card{padding:20px}
#qe-retry-app .qe2mq-finish-stats,.qe-inpost-retry .qe2mq-finish-stats{grid-template-columns:repeat(3,1fr);gap:6px}
#qe-retry-app .qe2mq-kbd-hint,.qe-inpost-retry .qe2mq-kbd-hint{display:none}
}


/* ==== v0.17.7 qe2 popup system (soft gate + premium modal) ==== */
.qe2-popwrap,.qe-premium-overlay{font-family:'Inter',system-ui,-apple-system,sans-serif}
.qe2-popwrap .qe2-pop-h,.qe-premium-overlay .qe2-prem-hero h3{font-family:'Inter',system-ui,-apple-system,sans-serif !important}
.qe2-popwrap{position:fixed;inset:0;z-index:99998;background:rgba(10,14,25,.72);display:flex;align-items:center;justify-content:center;padding:16px;animation:qe2fade .18s ease}
.qe-premium-overlay{position:fixed;inset:0;z-index:99999;background:rgba(10,14,25,.72);display:flex;align-items:center;justify-content:center;padding:16px;animation:qe2fade .18s ease}
@keyframes qe2fade{from{opacity:0}to{opacity:1}}
.qe2-pop{background:#fff;border-radius:16px;max-width:440px;width:100%;padding:28px 26px 24px;position:relative;color:#1c2733;box-shadow:0 24px 64px rgba(10,14,25,.35);animation:qe2rise .22s cubic-bezier(.2,.9,.3,1.2)}
@keyframes qe2rise{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
.qe2-pop-x{position:absolute;top:10px;right:12px;border:0;background:none;font-size:24px;line-height:1;cursor:pointer;color:#8a93a3;padding:4px;border-radius:8px}
.qe2-pop-x:hover{color:#1c2733;background:#f1f3f7}
.qe2-pop-ic{width:44px;height:44px;border-radius:12px;background:#eef0fe;color:#4f46e5;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.qe2-pop-ic svg{width:20px;height:20px}
.qe2-pop-h{margin:0 0 8px;font-size:21px;font-weight:800;letter-spacing:-.02em;color:#0f172a}
.qe2-pop-p{margin:0 0 16px;line-height:1.55;color:#475569;font-size:14.5px}
.qe2-pop-row{display:flex;gap:8px;align-items:stretch}
.qe2-pop-row input{flex:1;min-width:0;padding:11px 13px;border:1px solid #d0d5dd;border-radius:10px;font-size:15px;font-family:inherit;color:#1c2733}
.qe2-pop-row input:focus{outline:2px solid #4f46e5;outline-offset:1px;border-color:#4f46e5}
.qe2-pop-row .qe2-btn{white-space:nowrap}
.qe2-pop-msg{margin:10px 0 0;font-size:13px;color:#4f46e5;font-weight:600}
.qe2-pop-skip{display:block;margin-top:14px;font-size:13px;text-decoration:none;color:#8a93a3;text-align:center}
.qe2-pop-skip:hover{color:#4f46e5}
.qe2-pop-sub{margin:14px 0 0;font-size:12px;color:#8a93a3;text-align:center}
.qe2-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 18px;border-radius:10px;border:1px solid #e7eaf0;background:#fff;color:#1c2733;font-size:14.5px;font-weight:600;font-family:inherit;cursor:pointer;text-decoration:none;transition:background .15s,color .15s,border-color .15s}
.qe2-btn-primary{background:#4f46e5;border-color:#4f46e5;color:#fff}
.qe2-btn-primary:hover{background:#4338ca;border-color:#4338ca;color:#fff}
.qe2-btn-primary:disabled{background:#a5b4fc;border-color:#a5b4fc;cursor:not-allowed}
/* premium modal extras */
.qe2-prem{padding:0;overflow:hidden}
.qe2-prem .qe-premium-close{position:absolute;top:10px;right:12px;border:0;background:none;font-size:24px;line-height:1;cursor:pointer;color:rgba(255,255,255,.75);padding:4px;border-radius:8px;z-index:2}
.qe2-prem .qe-premium-close:hover{color:#fff;background:rgba(255,255,255,.14)}
.qe2-prem-hero{background:#0f172a;padding:26px 26px 22px;display:flex;align-items:center;gap:12px}
.qe2-prem-hero h3{margin:0;color:#fff;font-size:19px;font-weight:800;letter-spacing:-.01em}
.qe2-prem-ic{width:42px;height:42px;border-radius:12px;background:rgba(79,70,229,.35);color:#c7d2fe;display:flex;align-items:center;justify-content:center;flex:none}
.qe2-prem-ic svg{width:20px;height:20px}
.qe2-prem-body{padding:22px 26px 24px}
.qe2-pop-checks{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:9px}
.qe2-pop-checks li{display:flex;align-items:flex-start;gap:9px;color:#334155;font-size:14px;line-height:1.45}
.qe2-pop-checks li::before{content:"";flex:none;width:18px;height:18px;border-radius:50%;background:#eef0fe center/11px no-repeat;
 background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f46e5' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
 margin-top:1px}
.qe2-prem-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.qe2-prem-all{font-size:13px;color:#4f46e5;text-decoration:none;font-weight:600}
.qe2-prem-all:hover{text-decoration:underline}
@media (max-width:480px){
 .qe2-popwrap,.qe-premium-overlay{padding:12px;align-items:flex-end}
 .qe2-pop{padding:22px 18px 18px;border-radius:16px 16px 12px 12px}
 .qe2-pop-row{flex-direction:column}
 .qe2-pop-row .qe2-btn{width:100%;white-space:normal}
 .qe2-prem-hero{padding:20px 18px 18px}
 .qe2-prem-body{padding:18px 18px 20px}
 .qe2-prem-actions .qe2-btn{width:100%}
 .qe2-prem-actions{text-align:center}
}


/* ==== v0.17.7: checkout overlay full-viewport centering fix ==== */
#qe-checkout-overlay.qe-modal{max-width:none;width:auto;font-family:'Inter',system-ui,-apple-system,sans-serif}
#qe-checkout-overlay.qe-modal > div:first-child{max-width:560px}


/* ==== v0.17.7 qe2 restyle: auth modal + shared #qe-overlay shell (report, profile edit) ==== */
#qe-overlay{position:fixed;inset:0;z-index:99997;background:rgba(10,14,25,.72);display:flex;align-items:center;justify-content:center;padding:16px;animation:qe2fade .18s ease;font-family:'Inter',system-ui,-apple-system,sans-serif}
#qe-overlay .qe-modal{max-width:440px;width:100%;max-height:88vh;background:#fff;border-radius:16px;box-shadow:0 24px 64px rgba(10,14,25,.35);border:0;overflow:hidden;animation:qe2rise .22s cubic-bezier(.2,.9,.3,1.2)}
#qe-overlay .qe-modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 22px 12px;border:0;background:#fff}
#qe-overlay .qe-modal-title{font-weight:800;font-size:17px;letter-spacing:-.01em;color:#0f172a}
#qe-overlay .qe-close{background:none;border:none;font-size:24px;line-height:1;cursor:pointer;color:#8a93a3;padding:4px 8px;border-radius:8px}
#qe-overlay .qe-close:hover{color:#1c2733;background:#f1f3f7}
#qe-overlay .qe-modal-body{padding:0 22px 22px;color:#334155;font-size:14.5px;line-height:1.5}
#qe-overlay .qe-sub{color:#64748b;font-size:14px}
#qe-overlay .qe-chip{display:inline-flex;align-items:center;gap:6px;background:#fff7ed;border:1px solid #fed7aa;color:#c2410c;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600}
#qe-overlay .qe-chip-hot{background:#fff7ed;border-color:#fed7aa;color:#c2410c}
/* auth tabs: green -> indigo pill segmented control */
#qe-overlay .qe-auth-tabs{display:flex;gap:4px;margin:14px 0;padding:4px;border:1px solid #e7eaf0;border-radius:12px;background:#f5f6f8;overflow:hidden}
#qe-overlay .qe-auth-tab{flex:1;background:transparent;border:none;padding:9px 6px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;color:#64748b;border-radius:9px;transition:background .15s,color .15s}
#qe-overlay .qe-auth-tab:hover{color:#0f172a}
#qe-overlay .qe-auth-tab-on{background:#fff;color:#4f46e5;box-shadow:0 1px 3px rgba(10,14,25,.12)}
/* inputs */
#qe-overlay .qe-auth-form{display:flex;flex-direction:column;gap:12px;margin-top:12px}
#qe-overlay .qe-auth-input{width:100%;padding:12px 14px;border:1px solid #d0d5dd;border-radius:10px;font-size:15px;font-family:inherit;color:#1c2733;background:#fff}
#qe-overlay .qe-auth-input:focus{outline:2px solid #4f46e5;outline-offset:1px;border-color:#4f46e5}
/* buttons inside overlay: old green -> indigo qe2 */
#qe-overlay .qe-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:10px;border:1px solid #e7eaf0;background:#fff;color:#1c2733;font-size:14.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
#qe-overlay .qe-btn:hover{background:#f8fafc}
#qe-overlay .qe-btn-primary{background:#4f46e5 !important;border-color:#4f46e5 !important;color:#fff !important}
#qe-overlay .qe-btn-primary:hover{background:#4338ca !important;border-color:#4338ca !important;color:#fff !important}
#qe-overlay .qe-btn-primary:disabled{background:#a5b4fc !important;border-color:#a5b4fc !important;cursor:not-allowed}
#qe-overlay #qe-forgot-link{color:#4f46e5;font-weight:600}
/* report modal radios + done message */
#qe-overlay .qe-report-reasons label{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e7eaf0;border-radius:10px;cursor:pointer;font-size:14px;color:#334155;transition:border-color .15s,background .15s}
#qe-overlay .qe-report-reasons label:hover{border-color:#4f46e5;background:#f8faff}
#qe-overlay .qe-report-done p{color:#4f46e5;font-weight:600}
@media (max-width:480px){
 #qe-overlay{padding:12px;align-items:flex-end}
 #qe-overlay .qe-modal{border-radius:16px 16px 12px 12px;max-height:92vh}
 #qe-overlay .qe-modal-head{padding:14px 18px 10px}
 #qe-overlay .qe-modal-body{padding:0 18px 18px}
}
/* ==== v0.17.8 qe2: in-post quiz finish panel (readiness, free lockbox, upsell, reset modal) ==== */
.qe2fin{margin:16px 0;font-family:Inter,-apple-system,'Segoe UI',sans-serif}
.qe2fin .qe2-card{background:#fff;border:1px solid #e7eaf0;border-radius:16px;padding:22px}
.qe2fin .qe2mq-finish-top{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.qe2fin .qe2-gauge{width:110px;height:110px;flex:0 0 auto}
.qe2fin .qe2mq-finish-copy h2{margin:0 0 4px;font-size:21px;font-weight:800;letter-spacing:-.02em;color:#0f172a}
.qe2fin .qe2-hint{margin:2px 0 0;font-size:13.5px;color:#64748b}
.qe2fin .qe2mq-finish-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0 4px}
.qe2fin .qe2mq-tile{background:#f8fafc;border:1px solid #eef1f6;border-radius:12px;padding:10px 8px;display:flex;flex-direction:column;align-items:center;gap:2px}
.qe2fin .qe2mq-t-num{font-size:19px;font-weight:800;color:#0f172a}
.qe2fin .qe2mq-t-label{font-size:10.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#94a3b8}
.qe2fin-lockbox{background:#0f172a;border-radius:14px;padding:18px;margin:16px 0 4px}
.qe2fin-lockbox-head{display:flex;align-items:center;gap:8px;font-weight:800;font-size:14px;color:#fff;margin-bottom:8px}
.qe2fin-lockbox-body{font-size:13.5px;color:#cbd5e1;line-height:1.5}
.qe2fin-teaser-row{display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);border-radius:10px;padding:9px 12px;margin-top:8px}
.qe2fin-teaser-name{font-size:13px;color:#e2e8f0}
.qe2fin-teaser-pill{font-size:10.5px;font-weight:800;letter-spacing:.5px;color:#c7d2fe;background:rgba(79,70,229,.35);border:1px solid rgba(199,210,254,.35);border-radius:999px;padding:3px 10px}
.qe2fin-lockbox-cta{display:flex;align-items:center;gap:14px;margin-top:14px;flex-wrap:wrap}
.qe2fin .qe2-btn-white{background:#4f46e5;color:#fff;border:none}
.qe2fin-linkplans{font-size:13px;color:#c7d2fe;text-decoration:underline}
.qe2fin-upsell{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 18px}
.qe2fin-upsell-copy{flex:1;min-width:220px}
.qe2fin-upsell-copy b{display:block;font-size:15px;color:#0f172a;margin-bottom:3px}
.qe2fin-upsell-copy span{font-size:13px;color:#64748b}
.qe2fin-lock-ico{width:38px;height:38px;border-radius:10px;background:#4f46e5;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.qe2fin-hardest{margin:14px 0 4px}
.qe2fin-cat-h{font-size:12px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#94a3b8;margin-bottom:8px}
.qe2fin-hard-row{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid #f1f4f8}
.qe2fin-hard-row:last-child{border-bottom:none}
.qe2fin-hard-rank{width:24px;height:24px;border-radius:8px;background:#4f46e5;color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.qe2fin-hard-rate{margin-left:auto;font-size:13px;font-weight:700;color:#dc2626;white-space:nowrap}
.qe2fin-hard-rate small{font-weight:500;color:#94a3b8}
.qe2fin-cat-row{display:flex;align-items:center;gap:12px;padding:7px 0}
.qe2fin-cat-name{flex:0 0 34%;font-size:13.5px;color:#334155;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qe2fin-cat-bar{flex:1;height:8px;border-radius:99px;background:#eef1f6;overflow:hidden}
.qe2fin-cat-bar span{display:block;height:100%;border-radius:99px}
.qe2fin-cat-pct{flex:0 0 84px;text-align:right;font-size:13px;font-weight:800;color:#0f172a}
.qe2fin-cat-pct small{font-weight:500;color:#94a3b8}
.qe2fin-footnote{margin:14px 0 0;font-size:12px;color:#94a3b8}
.qe2fin-foot{display:flex;justify-content:center;margin-top:14px}
.qe2fin-reset{background:none;border:none;cursor:pointer;font-size:12.5px;color:#94a3b8;text-decoration:underline}
.qe2fin-reset:hover{color:#64748b}
/* reset modal qe2 */
#qe-reset-overlay{position:fixed;inset:0;z-index:99998;background:rgba(10,14,25,.72);display:flex;align-items:center;justify-content:center;padding:16px;font-family:Inter,-apple-system,'Segoe UI',sans-serif;animation:qe2fade .2s ease}
#qe-reset-overlay .qe-modal{max-width:440px;width:100%;background:#fff;border-radius:16px;overflow:hidden}
#qe-reset-overlay .qe-modal-head{padding:16px 22px;font-weight:800;font-size:17px;color:#0f172a;border-bottom:1px solid #eef1f6}
#qe-reset-overlay .qe-reset-modal p{padding:16px 22px 0;margin:0;font-size:14px;color:#64748b;line-height:1.5}
#qe-reset-overlay .qe-reset-choices{display:flex;flex-direction:column;gap:8px;padding:16px 22px}
#qe-reset-overlay .qe-btn{border-radius:10px;padding:11px 16px;font-weight:700;font-size:14px;cursor:pointer;border:1px solid #e2e8f0;background:#fff;color:#334155;font-family:inherit}
#qe-reset-overlay .qe-reset-danger{background:#dc2626;border-color:#dc2626;color:#fff}
#qe-reset-overlay .qe-modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:0 22px 18px}
@media(max-width:480px){
 .qe2fin .qe2mq-finish-stats{grid-template-columns:repeat(2,1fr)}
 .qe2fin .qe2mq-finish-top{flex-direction:column;text-align:center}
 .qe2fin-cat-name{flex-basis:42%}
}


/* v0.17.8 fix pass: force Inter (theme Playfair leak), full reset-modal button styling, spacing */
.qe2fin, .qe2fin *{font-family:Inter,-apple-system,'Segoe UI',sans-serif !important}
.qe2fin .qe2mq-finish-copy h2{font-family:Inter,-apple-system,'Segoe UI',sans-serif !important;font-size:21px}
#qe-reset-overlay,#qe-reset-overlay *{font-family:Inter,-apple-system,'Segoe UI',sans-serif !important}
#qe-reset-overlay .qe-modal-head{font-family:Inter,-apple-system,'Segoe UI',sans-serif !important}
#qe-reset-overlay .qe-btn{display:inline-flex !important;align-items:center;justify-content:center;width:100%;box-sizing:border-box;appearance:none;-webkit-appearance:none;line-height:1.2;background:#fff}
#qe-reset-overlay .qe-modal-actions .qe-btn{width:auto;min-width:90px}
#qe-reset-overlay .qe-btn:hover{border-color:#4f46e5;color:#4f46e5}
#qe-reset-overlay .qe-reset-danger:hover{background:#b91c1c;border-color:#b91c1c;color:#fff}
.qe2fin-hard-rate{padding-right:2px}
.qe2fin .qe2mq-finish-stats{gap:12px}
.qe2fin-foot{margin-top:20px}

/* v0.17.8 fix2: legacy .qe-btn white-text-on-white override in reset modal */
#qe-reset-overlay .qe-reset-choices .qe-btn.qe-reset-danger{color:#fff !important}
#qe-reset-overlay .qe-reset-choices .qe-btn{color:#334155 !important}
#qe-reset-overlay .qe-modal-actions .qe-btn{color:#334155 !important}

/* v0.17.9: reco band 3-action row */
.qe2-reco{flex-wrap:wrap}
.qe2-reco-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;flex:0 0 100%;margin-top:14px}
.qe2-reco-actions .qe2-btn{white-space:nowrap}
@media(max-width:640px){.qe2-reco-actions{flex-direction:column;align-items:stretch}.qe2-reco-actions .qe2-btn{width:100%;text-align:center}}

/* ==== v0.18.0 qe2: Course Progress (profile card + results strip) ==== */
.qe2-cp{display:flex;flex-direction:column;gap:16px}
.qe2-cp-bar{height:14px;border-radius:999px;background:#e9edf4;overflow:hidden;position:relative}
.qe2-cp-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#4f46e5,#6366f1);transition:width .6s cubic-bezier(.22,1,.36,1)}
.qe2-cp-meta{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:13px;color:#64748b}
.qe2-cp-meta b{color:#0f172a;font-weight:700}
.qe2-cp-pct{font-weight:700;color:#4f46e5;font-size:13px}
.qe2-cp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.qe2-cp-stat{background:#f8fafc;border:1px solid #eef1f6;border-radius:12px;padding:12px 14px;text-align:center}
.qe2-cp-num{font-size:26px;font-weight:800;color:#0f172a;line-height:1.1}
.qe2-cp-lab{font-size:12px;color:#64748b;margin-top:4px}
.qe2-cp-accrow{display:flex}
.qe2-cp-acc{font-size:13px;color:#334155}
.qe2-cp-acc b{color:#4f46e5}
.qe2-cp-strip{padding:16px 20px}
.qe2-cp-strip-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.qe2-cp-strip-info{flex:1 1 340px;min-width:280px}
.qe2-cp-tag{font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:#4f46e5;margin-bottom:8px}
.qe2-cp-strip .qe2-cp-bar{height:10px}
.qe2-cp-strip .qe2-cp-meta{margin-top:6px}
@media (max-width:640px){.qe2-cp-stats{grid-template-columns:1fr 1fr 1fr;gap:8px}.qe2-cp-stat{padding:10px 6px}.qe2-cp-num{font-size:22px}}

/* ==== v0.18.2 qe2: Course Progress card gap to next card (host has no flex gap) ==== */
.qe2-cp{margin-bottom:24px}
.qe2-cp-strip{margin-bottom:24px}
/* ==== v0.18.1 qe2: Course Progress spacing fix (content padding inside unpadded .qe2-card) ==== */
.qe2-cp .qe2-cp-bar,.qe2-cp .qe2-cp-meta,.qe2-cp .qe2-cp-stats,.qe2-cp .qe2-cp-accrow{margin-left:20px;margin-right:20px}
.qe2-cp .qe2-cp-card-f,.qe2-cp .qe2-card-f{margin-top:18px;border-top:1px solid #eef1f6;padding:14px 20px}
.qe2-cp .qe2-card-h{padding:18px 20px 14px}
.qe2-cp-strip .qe2-cp-strip-row{align-items:center}
@media (max-width:640px){.qe2-cp .qe2-cp-bar,.qe2-cp .qe2-cp-meta,.qe2-cp .qe2-cp-stats,.qe2-cp .qe2-cp-accrow{margin-left:16px;margin-right:16px}.qe2-cp .qe2-card-h{padding:16px 16px 12px}.qe2-cp .qe2-card-f{padding:12px 16px}}
