:root {
	--nq-primary: #5b5bd6;
	--nq-primary-dark: #4444b8;
	--nq-ink: #172033;
	--nq-muted: #667085;
	--nq-line: #e7e9f0;
	--nq-soft: #f6f7fb;
	--nq-success: #12a150;
	--nq-danger: #e5484d;
	--nq-warning: #f59e0b;
	--nq-radius: 18px;
	--nq-shadow: 0 12px 40px rgba(18, 28, 45, .08);
}

.nsqap-hub {
	width: 100%;
	max-width: 1280px;
	margin: 24px auto 40px;
	color: var(--nq-ink);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.nsqap-hub * { box-sizing: border-box; }
.nsqap-hub-nav {
	position: sticky;
	z-index: 50;
	top: 18px;
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 12px 14px;
	border: 1px solid var(--nq-line);
	border-radius: 16px;
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 10px 32px rgba(18, 28, 45, .09);
	backdrop-filter: blur(14px);
}
.nsqap-hub-brand {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	gap: 10px;
	padding-right: 16px;
	border-right: 1px solid var(--nq-line);
}
.nsqap-hub-brand > span {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 11px;
	background: linear-gradient(135deg, var(--nq-primary), #7a5af8);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .04em;
}
.nsqap-hub-brand strong { color: var(--nq-ink); font-size: 14px; white-space: nowrap; }
.nsqap-hub-links {
	display: flex;
	align-items: center;
	flex: 1;
	gap: 5px;
	min-width: 0;
	overflow-x: auto;
	scrollbar-width: none;
}
.nsqap-hub-links::-webkit-scrollbar { display: none; }
.nsqap-hub-links a {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	gap: 7px;
	min-height: 38px;
	padding: 8px 12px;
	border-radius: 9px;
	color: #475467;
	font-size: 13px;
	font-weight: 650;
	text-decoration: none !important;
	border: 0 !important;
	box-shadow: none !important;
	white-space: nowrap;
	transition: background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.nsqap-hub-links a:visited { text-decoration: none !important; }
.nsqap-hub-links a:hover,
.nsqap-hub-links a:focus {
	background: #eeeeff;
	color: var(--nq-primary);
	text-decoration: none !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(91, 91, 214, .13) !important;
}
.nsqap-hub-links a.is-active { background: linear-gradient(135deg, var(--nq-primary), #7164e8); color: #fff; box-shadow: 0 6px 16px rgba(91, 91, 214, .22) !important; }
.nsqap-hub-dot {
	display: none;
}
.nsqap-hub-content > .nsqap-public { margin-top: 24px; }

.nsqap-public {
	width: 100%;
	max-width: 1240px;
	margin: 32px auto;
	color: var(--nq-ink);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	line-height: 1.5;
}
.nsqap-public * { box-sizing: border-box; }
.nsqap-public a { text-decoration: none; }
.nsqap-public button,
.nsqap-public input { font: inherit; }

.nsqap-hero {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	min-height: 250px;
	padding: 46px 50px;
	border-radius: 24px;
	background:
		radial-gradient(circle at 82% 22%, rgba(255,255,255,.17), transparent 24%),
		linear-gradient(130deg, #36369c, #5b5bd6 52%, #7a5af8);
	color: #fff;
	overflow: hidden;
}
.nsqap-hero::after {
	content: "";
	position: absolute;
	width: 270px;
	height: 270px;
	right: -80px;
	bottom: -150px;
	border: 45px solid rgba(255, 255, 255, .07);
	border-radius: 50%;
}
.nsqap-kicker {
	display: inline-block;
	margin-bottom: 8px;
	color: #dedcff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.nsqap-hero h1 {
	max-width: 650px;
	margin: 0 0 10px;
	color: #fff;
	font-size: clamp(30px, 4vw, 48px);
	line-height: 1.08;
	letter-spacing: -.03em;
}
.nsqap-hero p { max-width: 590px; margin: 0; color: #e8e7ff; font-size: 16px; }
.nsqap-hero-stats { position: relative; z-index: 1; display: flex; gap: 12px; }
.nsqap-hero-stats span {
	display: flex;
	flex-direction: column;
	min-width: 118px;
	padding: 18px;
	border: 1px solid rgba(255,255,255,.24);
	border-radius: 14px;
	background: rgba(255,255,255,.12);
	backdrop-filter: blur(10px);
}
.nsqap-hero-stats strong { font-size: 22px; }
.nsqap-hero-stats span { color: #e8e7ff; font-size: 12px; }

.nsqap-public-categories {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 14px;
	margin: 28px 0 46px;
}
.nsqap-public-categories a {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 165px;
	padding: 22px 18px;
	border: 1px solid var(--nq-line);
	border-color: color-mix(in srgb, var(--cat), #fff 65%);
	border-radius: 16px;
	background: #fff;
	background: linear-gradient(145deg, color-mix(in srgb, var(--cat), #fff 88%), #fff);
	color: var(--nq-ink);
	overflow: hidden;
	transition: transform .2s ease, box-shadow .2s ease;
}
.nsqap-public-categories a::after {
	content: "";
	position: absolute;
	width: 90px;
	height: 90px;
	right: -35px;
	bottom: -40px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--cat), transparent 85%);
}
.nsqap-public-categories a:hover,
.nsqap-public-categories a.is-active { transform: translateY(-3px); box-shadow: var(--nq-shadow); }
.nsqap-public-categories a.is-active { outline: 2px solid var(--cat); outline-offset: 2px; }
.nsqap-public-categories span { font-size: 30px; margin-bottom: 18px; }
.nsqap-public-categories strong { font-size: 15px; }
.nsqap-public-categories small { margin-top: 5px; color: var(--nq-muted); }

.nsqap-category-page { padding-top: 8px; }
.nsqap-category-head { margin-bottom: 28px; }
.nsqap-back-link {
	display: inline-flex;
	align-items: center;
	margin-bottom: 18px;
	color: var(--nq-primary);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}
.nsqap-back-link:hover { text-decoration: underline; }
.nsqap-category-title {
	display: flex;
	align-items: center;
	gap: 16px;
}
.nsqap-category-title > span {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	border-radius: 16px;
	background: color-mix(in srgb, var(--cat), #fff 82%);
	font-size: 28px;
}
.nsqap-category-title h1 {
	margin: 4px 0 0;
	font-size: clamp(26px, 3vw, 36px);
	line-height: 1.1;
}
.nsqap-category-title > div > span {
	color: var(--nq-primary);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.nsqap-section-head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 18px;
}
.nsqap-section-head span,
.nsqap-leaderboard-page > header span,
.nsqap-review-head > div > span,
.nsqap-profile-hero > div > span {
	color: var(--nq-primary);
	font-size: 11px;
	font-weight: 750;
	letter-spacing: .09em;
	text-transform: uppercase;
}
.nsqap-section-head h2 { margin: 3px 0 0; font-size: 27px; letter-spacing: -.02em; }
.nsqap-section-head > a { color: var(--nq-primary); font-weight: 650; }
.nsqap-quiz-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.nsqap-quiz-card {
	display: flex;
	flex-direction: column;
	padding: 22px;
	border: 1px solid var(--nq-line);
	border-radius: var(--nq-radius);
	background: #fff;
	box-shadow: 0 5px 20px rgba(18,28,45,.04);
	transition: transform .2s ease, box-shadow .2s ease;
}
.nsqap-quiz-card:hover { transform: translateY(-3px); box-shadow: var(--nq-shadow); }
.nsqap-quiz-card-top { display: flex; align-items: center; justify-content: space-between; }
.nsqap-quiz-card-top > span { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 13px; background: #f2f4f7; background: color-mix(in srgb, var(--cat), #fff 86%); font-size: 24px; }
.nsqap-quiz-card-top em { padding: 4px 9px; border-radius: 999px; background: #f2f4f7; color: #475467; font-size: 10px; font-style: normal; font-weight: 700; text-transform: uppercase; }
.nsqap-quiz-card h3 { margin: 17px 0 7px; color: var(--nq-ink); font-size: 18px; line-height: 1.35; }
.nsqap-quiz-card p { flex: 1; margin: 0; color: var(--nq-muted); font-size: 13px; }
.nsqap-quiz-meta { display: flex; gap: 17px; margin: 18px 0; padding-top: 14px; border-top: 1px solid var(--nq-line); color: #475467; font-size: 12px; }
.nsqap-primary-button,
.nsqap-secondary-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 44px;
	padding: 10px 17px;
	border: 1px solid transparent;
	border-radius: 10px;
	cursor: pointer;
	font-weight: 700;
	line-height: 1;
	transition: background .2s, border .2s, transform .2s;
}
.nsqap-primary-button { background: var(--nq-primary); color: #fff !important; }
.nsqap-primary-button:hover { background: var(--nq-primary-dark); transform: translateY(-1px); }
.nsqap-secondary-button { background: #fff; border-color: #d0d5dd; color: #344054 !important; }
.nsqap-secondary-button:hover { border-color: #98a2b3; background: #f9fafb; }
.nsqap-primary-button:disabled,
.nsqap-secondary-button:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.nsqap-public-pagination { display: flex; justify-content: center; gap: 7px; margin-top: 30px; }
.nsqap-public-pagination a { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--nq-line); border-radius: 9px; color: #475467; }
.nsqap-public-pagination a.is-active { background: var(--nq-primary); border-color: var(--nq-primary); color: #fff; }

.nsqap-attempt-shell { max-width: 1180px; }
.nsqap-start-card,
.nsqap-message {
	max-width: 720px;
	margin: 50px auto;
	padding: 46px;
	border: 1px solid var(--nq-line);
	border-radius: 22px;
	background: #fff;
	box-shadow: var(--nq-shadow);
	text-align: center;
}
.nsqap-start-icon,
.nsqap-message > span { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto 18px; border-radius: 18px; background: #eeeeff; color: var(--nq-primary); font-size: 28px; font-weight: 800; }
.nsqap-start-card h1,
.nsqap-message h2 { margin: 0 0 10px; color: var(--nq-ink); font-size: 30px; }
.nsqap-start-card > p,
.nsqap-message p { margin: 0 auto; max-width: 560px; color: var(--nq-muted); }
.nsqap-start-facts { display: flex; justify-content: center; gap: 12px; margin: 26px 0; }
.nsqap-start-facts span { display: flex; flex-direction: column; min-width: 130px; padding: 14px; border-radius: 12px; background: var(--nq-soft); color: var(--nq-muted); font-size: 12px; }
.nsqap-start-facts strong { color: var(--nq-ink); font-size: 20px; }
.nsqap-start-card > small { display: block; margin-top: 13px; color: var(--nq-muted); }

.nsqap-attempt-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 20px 24px;
	border: 1px solid var(--nq-line);
	border-radius: 16px 16px 0 0;
	background: #fff;
}
.nsqap-attempt-header span { color: var(--nq-primary); font-size: 10px; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.nsqap-attempt-header h1 { margin: 2px 0 0; color: var(--nq-ink); font-size: 21px; }
.nsqap-timer { min-width: 120px; padding: 10px 17px; border: 1px solid #fecdca; border-radius: 10px; background: #fef3f2; text-align: center; }
.nsqap-timer small { display: block; color: #b42318; font-size: 10px; }
.nsqap-timer strong { color: #d92d20; font-size: 20px; font-variant-numeric: tabular-nums; }
.nsqap-timer strong.is-low { animation: nsqap-pulse 1s infinite; }
@keyframes nsqap-pulse { 50% { opacity: .45; } }
.nsqap-progress-track { height: 5px; background: #eaecf0; }
.nsqap-progress-track span { display: block; height: 100%; background: linear-gradient(90deg, var(--nq-primary), #7a5af8); transition: width .2s; }
.nsqap-attempt-layout {
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	min-height: 580px;
	border: 1px solid var(--nq-line);
	border-top: 0;
	border-radius: 0 0 16px 16px;
	background: #fff;
	overflow: hidden;
	box-shadow: var(--nq-shadow);
}
.nsqap-navigator { padding: 22px; border-right: 1px solid var(--nq-line); background: #fbfbfd; }
.nsqap-navigator > div:first-child { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.nsqap-navigator > div:first-child span { color: var(--nq-muted); font-size: 10px; }
.nsqap-navigator nav { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.nsqap-navigator nav button {
	display: grid;
	place-items: center;
	aspect-ratio: 1;
	padding: 0;
	border: 1px solid #d0d5dd;
	border-radius: 7px;
	background: #fff;
	color: #475467;
	cursor: pointer;
	font-size: 12px;
	font-weight: 650;
}
.nsqap-navigator nav button.is-answered { background: var(--nq-success); border-color: var(--nq-success); color: #fff; }
.nsqap-navigator nav button.is-marked { background: var(--nq-warning); border-color: var(--nq-warning); color: #fff; }
.nsqap-navigator nav button.is-current { outline: 2px solid var(--nq-primary); outline-offset: 2px; }
.nsqap-legend { display: flex; flex-direction: column; gap: 8px; margin-top: 24px; color: var(--nq-muted); font-size: 11px; }
.nsqap-legend span { display: flex; align-items: center; gap: 8px; }
.nsqap-legend i { width: 12px; height: 12px; border: 1px solid #d0d5dd; border-radius: 3px; background: #fff; }
.nsqap-legend i.answered { background: var(--nq-success); border-color: var(--nq-success); }
.nsqap-legend i.marked { background: var(--nq-warning); border-color: var(--nq-warning); }
.nsqap-question-panel { display: flex; flex-direction: column; padding: 32px 36px; }
.nsqap-question-count { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.nsqap-question-count span { color: var(--nq-muted); font-size: 13px; font-weight: 650; }
.nsqap-question-count em { padding: 4px 9px; border-radius: 999px; background: #f2f4f7; color: #475467; font-size: 10px; font-style: normal; font-weight: 700; text-transform: uppercase; }
.nsqap-question-panel h2 { margin: 0 0 25px; color: var(--nq-ink); font-size: 22px; line-height: 1.5; }
.nsqap-options { display: flex; flex-direction: column; gap: 11px; }
.nsqap-options label { display: flex; align-items: center; gap: 13px; min-height: 55px; padding: 11px 14px; border: 1px solid #dce0e7; border-radius: 11px; cursor: pointer; transition: border .15s, background .15s; }
.nsqap-options label:hover,
.nsqap-options label.is-selected { border-color: var(--nq-primary); background: #f7f7ff; }
.nsqap-options input { position: absolute; opacity: 0; }
.nsqap-options b { display: grid; place-items: center; flex: 0 0 32px; height: 32px; border-radius: 50%; background: #f2f4f7; color: #475467; }
.nsqap-options label.is-selected b { background: var(--nq-primary); color: #fff; }
.nsqap-options span { color: #344054; }
.nsqap-mark-review { display: flex; align-items: center; gap: 8px; margin-top: 17px; color: #475467; font-size: 13px; cursor: pointer; }
.nsqap-question-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 28px; }
.nsqap-clear { border: 0; background: transparent; color: var(--nq-muted); cursor: pointer; font-weight: 650; }
.nsqap-clear:hover { color: var(--nq-danger); }

.nsqap-result-page {
	display: grid;
	grid-template-columns: 360px minmax(0, 1fr);
	gap: 20px;
	max-width: 1050px;
}
.nsqap-score-card,
.nsqap-result-summary {
	padding: 34px;
	border: 1px solid var(--nq-line);
	border-radius: 20px;
	background: #fff;
	box-shadow: var(--nq-shadow);
}
.nsqap-score-card { display: flex; align-items: center; flex-direction: column; text-align: center; }
.nsqap-score-ring {
	display: grid;
	place-items: center;
	width: 190px;
	height: 190px;
	border-radius: 50%;
	background: conic-gradient(var(--nq-success) calc(var(--score) * 1%), #e9eef2 0);
}
.nsqap-score-ring::before { content: ""; grid-area: 1 / 1; width: 153px; height: 153px; border-radius: 50%; background: #fff; }
.nsqap-score-ring div { z-index: 1; grid-area: 1 / 1; display: flex; flex-direction: column; }
.nsqap-score-ring strong { font-size: 38px; line-height: 1; }
.nsqap-score-ring span { margin-top: 6px; color: var(--nq-muted); font-size: 12px; }
.nsqap-trophy { margin-top: 24px; font-size: 36px; }
.nsqap-score-card h1 { margin: 7px 0 4px; color: var(--nq-ink); font-size: 24px; }
.nsqap-score-card p { margin: 0; color: var(--nq-muted); }
.nsqap-result-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 23px; }
.nsqap-result-head span:first-child { color: var(--nq-primary); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.nsqap-result-head h2 { margin: 3px 0 0; color: var(--nq-ink); font-size: 23px; }
.nsqap-rank-chip { padding: 8px 12px; border-radius: 999px; background: #fffaeb; color: #b54708; font-size: 12px; font-weight: 700; }
.nsqap-result-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--nq-line); border-radius: 13px; overflow: hidden; }
.nsqap-result-grid > div { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 15px; border-right: 1px solid var(--nq-line); border-top: 1px solid var(--nq-line); }
.nsqap-result-grid > div:nth-child(-n+2) { border-top: 0; }
.nsqap-result-grid > div:nth-child(even) { border-right: 0; }
.nsqap-result-grid span { color: var(--nq-muted); font-size: 12px; }
.nsqap-result-grid strong { color: var(--nq-ink); }
.nsqap-result-grid .is-correct strong { color: var(--nq-success); }
.nsqap-result-grid .is-wrong strong { color: var(--nq-danger); }
.nsqap-result-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 24px; }

.nsqap-review-page { max-width: 920px; }
.nsqap-review-head { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 22px; }
.nsqap-review-head h1 { margin: 3px 0 0; color: var(--nq-ink); font-size: 28px; }
.nsqap-review-card {
	position: relative;
	display: grid;
	grid-template-columns: 38px 1fr 38px;
	gap: 16px;
	margin-bottom: 14px;
	padding: 24px;
	border: 1px solid var(--nq-line);
	border-left: 4px solid #98a2b3;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 4px 18px rgba(18,28,45,.04);
}
.nsqap-review-card.is-correct { border-left-color: var(--nq-success); }
.nsqap-review-card.is-wrong { border-left-color: var(--nq-danger); }
.nsqap-review-number { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; background: var(--nq-soft); font-weight: 750; }
.nsqap-review-card h2 { margin: 2px 0 17px; color: var(--nq-ink); font-size: 17px; line-height: 1.5; }
.nsqap-review-card dl { display: grid; grid-template-columns: 130px 1fr; margin: 0; font-size: 13px; }
.nsqap-review-card dt { padding: 5px 0; color: var(--nq-muted); }
.nsqap-review-card dd { margin: 0; padding: 5px 0; font-weight: 650; }
.nsqap-review-status { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: #fff; background: #98a2b3; font-size: 22px; font-weight: 800; }
.is-correct .nsqap-review-status { background: var(--nq-success); }
.is-wrong .nsqap-review-status { background: var(--nq-danger); }
.nsqap-explanation { margin-top: 17px; padding: 14px; border-radius: 10px; background: #f8f9fc; }
.nsqap-explanation strong { color: var(--nq-primary); font-size: 12px; }
.nsqap-explanation p { margin: 5px 0 0; color: #475467; font-size: 13px; }

.nsqap-leaderboard-page { max-width: 980px; }
.nsqap-leaderboard-page > header { text-align: center; margin-bottom: 24px; }
.nsqap-leaderboard-page h1 { margin: 4px 0; color: var(--nq-ink); font-size: 34px; }
.nsqap-leaderboard-page header p { margin: 0; color: var(--nq-muted); }
.nsqap-public-tabs { display: flex; justify-content: center; gap: 5px; width: max-content; margin: 0 auto 20px; padding: 5px; border-radius: 11px; background: #eef0f5; }
.nsqap-public-tabs a { padding: 8px 16px; border-radius: 8px; color: #475467; font-size: 13px; font-weight: 650; }
.nsqap-public-tabs a.is-active { background: #fff; color: var(--nq-primary); box-shadow: 0 1px 4px rgba(18,28,45,.12); }
.nsqap-leaderboard-table { border: 1px solid var(--nq-line); border-radius: 16px; background: #fff; box-shadow: var(--nq-shadow); overflow: hidden; }
.nsqap-leaderboard-row { display: grid; grid-template-columns: 80px minmax(180px, 1fr) 120px 120px 130px; align-items: center; padding: 14px 20px; border-top: 1px solid var(--nq-line); }
.nsqap-leaderboard-row.is-head { border-top: 0; background: #f8f9fc; color: var(--nq-muted); font-size: 10px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.nsqap-leaderboard-row:not(.is-head) > span:nth-child(2) { display: flex; align-items: center; gap: 11px; }
.nsqap-leaderboard-row:not(.is-head) > span:nth-child(2) b { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #eeeeff; color: var(--nq-primary); }
.nsqap-public-rank { font-size: 18px; font-weight: 800; color: #475467; }
.nsqap-leaderboard-row:nth-child(2) .nsqap-public-rank { color: #d99a00; }

.nsqap-profile-page { max-width: 1000px; }
.nsqap-profile-hero { display: flex; align-items: center; gap: 18px; padding: 30px; border-radius: 20px; background: linear-gradient(130deg, #343497, var(--nq-primary)); color: #fff; }
.nsqap-avatar { display: grid; place-items: center; width: 70px; height: 70px; border-radius: 20px; background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.24); font-size: 30px; font-weight: 800; }
.nsqap-profile-hero > div > span { color: #d9d9ff; }
.nsqap-profile-hero h1 { margin: 3px 0; color: #fff; font-size: 28px; }
.nsqap-profile-hero p { margin: 0; color: #e4e4ff; }
.nsqap-profile-stats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; margin: 18px 0; }
.nsqap-profile-stats > div { display: flex; flex-direction: column; padding: 19px; border: 1px solid var(--nq-line); border-radius: 14px; background: #fff; }
.nsqap-profile-stats span { color: var(--nq-muted); font-size: 12px; }
.nsqap-profile-stats strong { margin-top: 3px; font-size: 25px; }
.nsqap-profile-section { margin-top: 18px; padding: 24px; border: 1px solid var(--nq-line); border-radius: 16px; background: #fff; }
.nsqap-profile-section h2 { margin: 0 0 17px; font-size: 20px; }
.nsqap-achievements { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.nsqap-achievements > div { display: flex; flex-direction: column; align-items: center; padding: 17px; border-radius: 12px; background: #f2f4f7; filter: grayscale(1); opacity: .48; text-align: center; }
.nsqap-achievements > div.is-earned { background: #fffaeb; filter: none; opacity: 1; }
.nsqap-achievements span { font-size: 28px; }
.nsqap-achievements strong { margin-top: 5px; font-size: 12px; }
.nsqap-history > div { display: grid; grid-template-columns: 54px 1fr auto; align-items: center; gap: 14px; padding: 13px 0; border-top: 1px solid var(--nq-line); }
.nsqap-history > div:first-child { border-top: 0; }
.nsqap-history-score { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 12px; background: #eeeeff; color: var(--nq-primary); font-weight: 800; }
.nsqap-history > div > div { display: flex; flex-direction: column; }
.nsqap-history small { color: var(--nq-muted); }
.nsqap-history .is-pass,
.nsqap-history .is-retry { padding: 5px 9px; border-radius: 999px; background: #ecfdf3; color: #027a48; font-size: 11px; font-weight: 700; }
.nsqap-history .is-retry { background: #fef3f2; color: #b42318; }

.nsqap-public-empty { grid-column: 1 / -1; padding: 45px; text-align: center; color: var(--nq-muted); }
.nsqap-public-empty > span { font-size: 38px; }
.nsqap-public-empty h3 { margin: 9px 0 4px; color: var(--nq-ink); }
.nsqap-public-empty p { margin: 0; }
.nsqap-message .nsqap-primary-button { margin-top: 18px; }
.nsqap-toast {
	position: fixed;
	z-index: 999999;
	right: 22px;
	bottom: 22px;
	max-width: 360px;
	padding: 13px 17px;
	border-radius: 10px;
	background: #172033;
	color: #fff;
	box-shadow: 0 12px 30px rgba(18,28,45,.22);
	opacity: 0;
	transform: translateY(15px);
	pointer-events: none;
	transition: .2s ease;
}
.nsqap-toast.is-visible { opacity: 1; transform: translateY(0); }
.nsqap-toast.is-error { background: #b42318; }
.nsqap-toast.is-success { background: #027a48; }
.nsqap-toast.is-warning { background: #b54708; }

@media (max-width: 1024px) {
	.nsqap-hub { padding: 0 18px; }
	.nsqap-hub-nav { align-items: stretch; flex-direction: column; gap: 10px; }
	.nsqap-hub-brand { border-right: 0; padding: 0 2px 9px; border-bottom: 1px solid var(--nq-line); }
	.nsqap-public { padding: 0 18px; }
	.nsqap-public-categories { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.nsqap-quiz-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nsqap-result-page { grid-template-columns: 300px minmax(0, 1fr); }
}
@media (max-width: 760px) {
	.nsqap-hub { margin: 12px auto 28px; padding: 0 10px; }
	.nsqap-hub-nav { top: 8px; padding: 10px; border-radius: 13px; }
	.nsqap-hub-brand { display: none; }
	.nsqap-hub-links { gap: 3px; }
	.nsqap-hub-links a { min-height: 40px; padding: 8px 11px; }
	.nsqap-hub-content > .nsqap-public { margin-top: 16px; padding-left: 0; padding-right: 0; }
	.nsqap-public { margin: 20px auto; padding: 0 12px; }
	.nsqap-hero { align-items: flex-start; flex-direction: column; padding: 32px 24px; }
	.nsqap-hero-stats { width: 100%; }
	.nsqap-hero-stats span { flex: 1; min-width: 0; }
	.nsqap-public-categories { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.nsqap-public-categories a { min-height: 135px; padding: 17px; }
	.nsqap-public-categories span { margin-bottom: 10px; }
	.nsqap-quiz-grid,
	.nsqap-result-page { grid-template-columns: 1fr; }
	.nsqap-attempt-header { align-items: flex-start; }
	.nsqap-attempt-layout { grid-template-columns: 1fr; }
	.nsqap-navigator { border-right: 0; border-bottom: 1px solid var(--nq-line); }
	.nsqap-navigator nav { grid-template-columns: repeat(10, 1fr); overflow-x: auto; padding: 3px; }
	.nsqap-navigator nav button { min-width: 34px; }
	.nsqap-legend { display: none; }
	.nsqap-question-panel { min-height: 530px; padding: 24px 18px; }
	.nsqap-question-actions { flex-wrap: wrap; }
	.nsqap-clear { order: 3; width: 100%; }
	.nsqap-result-grid { grid-template-columns: 1fr; }
	.nsqap-result-grid > div { border-right: 0; }
	.nsqap-result-grid > div:nth-child(2) { border-top: 1px solid var(--nq-line); }
	.nsqap-review-card { grid-template-columns: 34px 1fr; padding: 18px; }
	.nsqap-review-status { position: absolute; top: 18px; right: 18px; }
	.nsqap-review-card dl { grid-template-columns: 1fr; }
	.nsqap-review-card dd { padding-top: 0; }
	.nsqap-review-head { align-items: flex-start; flex-direction: column; }
	.nsqap-leaderboard-table { overflow-x: auto; }
	.nsqap-leaderboard-row { min-width: 700px; }
	.nsqap-profile-stats,
	.nsqap-achievements { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
	.nsqap-hero-stats { flex-direction: column; }
	.nsqap-public-categories { grid-template-columns: 1fr 1fr; }
	.nsqap-start-card,
	.nsqap-message { padding: 28px 18px; }
	.nsqap-start-facts { flex-direction: column; }
	.nsqap-attempt-header h1 { font-size: 17px; }
	.nsqap-timer { min-width: 95px; }
	.nsqap-navigator nav { grid-template-columns: repeat(7, 1fr); }
	.nsqap-result-actions > * { width: 100%; }
	.nsqap-profile-stats,
	.nsqap-achievements { grid-template-columns: 1fr 1fr; }
}

.nsqap-register-page {
	max-width: 560px;
	margin: 0 auto;
}
.nsqap-register-card {
	padding: 34px 30px;
	border: 1px solid var(--nq-line);
	border-radius: 20px;
	background: #fff;
	box-shadow: var(--nq-shadow);
	text-align: center;
}
.nsqap-register-icon {
	display: inline-grid;
	place-items: center;
	width: 58px;
	height: 58px;
	margin-bottom: 14px;
	border-radius: 16px;
	background: #eeeeff;
	font-size: 28px;
}
.nsqap-register-card h1 {
	margin: 0 0 10px;
	font-size: 28px;
	color: var(--nq-ink);
}
.nsqap-register-card > p {
	margin: 0 auto 22px;
	max-width: 460px;
	color: var(--nq-muted);
}
.nsqap-register-form {
	display: grid;
	gap: 14px;
	text-align: left;
}
.nsqap-register-form label {
	display: grid;
	gap: 6px;
}
.nsqap-register-form label span {
	color: var(--nq-muted);
	font-size: 13px;
	font-weight: 600;
}
.nsqap-register-form input {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--nq-line);
	border-radius: 12px;
	font: inherit;
}
.nsqap-register-form .nsqap-primary-button {
	width: 100%;
	justify-content: center;
	margin-top: 4px;
}
.nsqap-register-note {
	margin: 0;
	color: var(--nq-danger);
	font-size: 14px;
	text-align: center;
}
.nsqap-auth-tabs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin: 0 0 18px;
}
.nsqap-auth-tabs a {
	display: block;
	padding: 11px 14px;
	border: 1px solid var(--nq-line);
	border-radius: 12px;
	background: #fff;
	color: var(--nq-muted);
	font-weight: 600;
	text-align: center;
	text-decoration: none;
}
.nsqap-auth-tabs a.is-active {
	border-color: var(--nq-primary);
	background: #f3f3ff;
	color: var(--nq-primary);
}
.nsqap-language-section {
	margin-top: 22px;
	padding: 22px;
	border: 1px solid var(--nq-line);
	border-radius: 18px;
	background: #fff;
}
.nsqap-language-section.is-hindi {
	background: linear-gradient(180deg, #fff9f4 0%, #fff 100%);
}
.nsqap-language-section.is-english {
	background: linear-gradient(180deg, #f7f8ff 0%, #fff 100%);
}
.nsqap-language-head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 16px;
}
.nsqap-language-head span {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 12px;
	background: #f3f3ff;
	font-size: 18px;
}
.nsqap-language-head h3 {
	margin: 0;
	font-size: 22px;
	color: var(--nq-ink);
}
