.gfre-hub,.gfre-test-shell{--gfre-yellow:#f4bd3f;--gfre-yellow-dark:#e7aa22;--gfre-cream:#fffaf0;--gfre-ink:#2e2a22;--gfre-muted:#6f6758;--gfre-line:#eadfbf;max-width:1240px;margin:30px auto;padding:0 18px;color:var(--gfre-ink);font-family:inherit}.gfre-hub *,.gfre-test-shell *{box-sizing:border-box}.gfre-hero{display:flex;justify-content:space-between;align-items:center;gap:30px;background:linear-gradient(135deg,#fff7d6,#fffdf7);border:1px solid var(--gfre-line);border-radius:26px;padding:38px;box-shadow:0 16px 45px rgba(74,54,0,.08)}.gfre-eyebrow,.gfre-card-kicker,.gfre-section-heading span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800;color:#8a6500}.gfre-hero h1{font-size:clamp(30px,4vw,52px);line-height:1.06;margin:8px 0 12px}.gfre-hero p{font-size:17px;color:var(--gfre-muted);max-width:720px;margin:0}.gfre-hero-badge{width:120px;height:120px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--gfre-yellow);box-shadow:inset 0 0 0 8px rgba(255,255,255,.55);flex:0 0 auto}.gfre-hero-badge strong{font-size:28px}.gfre-hero-badge span{font-weight:700}.gfre-filter-bar{display:flex;gap:10px;overflow:auto;padding:18px 2px}.gfre-filter-bar a{white-space:nowrap;text-decoration:none;color:var(--gfre-ink);border:1px solid var(--gfre-line);background:#fff;border-radius:999px;padding:9px 14px;font-weight:700}.gfre-filter-bar a.is-active,.gfre-filter-bar a:hover{background:var(--gfre-yellow);border-color:var(--gfre-yellow)}.gfre-section{margin:38px 0}.gfre-section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.gfre-section-heading h2{font-size:30px;margin:4px 0 0}.gfre-section-heading p{margin:0;color:var(--gfre-muted)}.gfre-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gfre-card{position:relative;background:#fff;border:1px solid var(--gfre-line);border-radius:18px;padding:22px;box-shadow:0 10px 30px rgba(68,53,9,.06);overflow:hidden;display:flex;flex-direction:column}.gfre-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(68,53,9,.1)}.gfre-card-icon{width:52px;height:52px;border-radius:15px;background:#fff4c7;display:flex;align-items:center;justify-content:center;font-weight:900;color:#6e4f00;margin-bottom:16px}.gfre-card h3{font-size:21px;margin:7px 0 10px}.gfre-card p{color:var(--gfre-muted);line-height:1.6}.gfre-card small{display:block;color:#786f60;margin-top:10px}.gfre-card-footer,.gfre-test-card .gfre-btn{margin-top:auto}.gfre-ribbon{position:absolute;right:-31px;top:15px;background:#2e2a22;color:#fff;padding:5px 36px;transform:rotate(38deg);font-size:11px;font-weight:800}.gfre-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:10px;background:var(--gfre-yellow);color:#221d12!important;text-decoration:none!important;padding:11px 17px;font-weight:800;cursor:pointer;transition:.2s}.gfre-btn:hover{background:var(--gfre-yellow-dark);color:#221d12}.gfre-btn:disabled{opacity:.55;cursor:not-allowed}.gfre-btn-secondary{background:#fff;border:1px solid var(--gfre-line)}.gfre-btn-large{font-size:17px;padding:14px 24px}.gfre-text-link{display:inline-block;margin-left:15px;color:#6f5500}.gfre-test-type{display:inline-flex;align-self:flex-start;background:#fff4c7;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.gfre-test-meta{display:flex;flex-wrap:wrap;gap:7px;margin:5px 0 10px}.gfre-test-meta span{font-size:12px;background:#f7f4ed;border-radius:8px;padding:6px 8px}.gfre-empty,.gfre-notice,.gfre-login-gate{grid-column:1/-1;background:#fffaf0;border:1px solid var(--gfre-line);border-radius:16px;padding:28px;text-align:center}.gfre-test-intro{max-width:850px;margin:40px auto;background:linear-gradient(135deg,#fff8dd,#fff);border:1px solid var(--gfre-line);border-radius:22px;padding:36px;box-shadow:0 18px 50px rgba(72,55,0,.08)}.gfre-test-intro h1{font-size:38px;line-height:1.15;margin:8px 0 20px}.gfre-intro-stats{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.gfre-intro-stats span{background:#fff;border:1px solid var(--gfre-line);border-radius:10px;padding:11px 14px}.gfre-instructions{background:#fff;border-left:4px solid var(--gfre-yellow);padding:16px 18px;margin:20px 0}.gfre-exam{border:1px solid var(--gfre-line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 18px 50px rgba(72,55,0,.08)}.gfre-exam-header{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#2e2a22;color:#fff;padding:18px 22px}.gfre-exam-header h2{font-size:20px;margin:3px 0}.gfre-exam-brand{font-size:12px;color:#f4bd3f;text-transform:uppercase;font-weight:800;letter-spacing:.1em}.gfre-timer{text-align:right}.gfre-timer span{display:block;font-size:11px;color:#e7dfd2}.gfre-timer strong{font-size:22px}.gfre-section-tabs{display:flex;overflow:auto;background:#fffaf0;border-bottom:1px solid var(--gfre-line)}.gfre-section-tabs button{border:0;border-right:1px solid var(--gfre-line);padding:12px 16px;background:transparent;white-space:nowrap;font-weight:700;cursor:pointer}.gfre-section-tabs button.is-active{background:var(--gfre-yellow)}.gfre-exam-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;min-height:620px}.gfre-question-panel{padding:28px}.gfre-question-top{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--gfre-line);padding-bottom:14px;margin-bottom:22px;font-weight:800}.gfre-mark-btn{border:1px solid #d7caa5;background:#fff;border-radius:8px;padding:8px 11px;cursor:pointer}.gfre-mark-btn.is-active{background:#efe5ff;border-color:#8c62d4}.gfre-question-text{font-size:20px;line-height:1.6;font-weight:650;margin:20px 0 25px}.gfre-options{display:grid;gap:12px}.gfre-option{display:grid;grid-template-columns:24px 36px 1fr;align-items:center;gap:10px;border:1px solid var(--gfre-line);border-radius:12px;padding:13px 14px;cursor:pointer;background:#fff}.gfre-option:hover,.gfre-option.is-selected{border-color:var(--gfre-yellow-dark);background:#fff9e4}.gfre-option input{margin:0}.gfre-option-letter{width:30px;height:30px;border-radius:50%;background:#f3efe6;display:flex;align-items:center;justify-content:center;font-weight:800}.gfre-question-actions{display:flex;justify-content:space-between;gap:15px;margin-top:28px;padding-top:18px;border-top:1px solid var(--gfre-line)}.gfre-question-actions>div{display:flex;gap:10px}.gfre-palette-panel{background:#fffaf0;border-left:1px solid var(--gfre-line);padding:22px}.gfre-palette-panel h3{margin-top:0}.gfre-legend{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:12px;margin-bottom:14px}.gfre-legend span{display:flex;align-items:center;gap:6px}.gfre-legend i{width:12px;height:12px;border-radius:4px;display:inline-block;background:#ddd}.gfre-legend i.answered{background:#4f9d69}.gfre-legend i.review{background:#8c62d4}.gfre-legend i.unanswered{background:#e8b04f}.gfre-palette{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;max-height:430px;overflow:auto}.gfre-palette-item{aspect-ratio:1;border:1px solid #d7caa5;border-radius:8px;background:#fff;font-weight:800;cursor:pointer}.gfre-palette-item.is-answered{background:#4f9d69;color:#fff;border-color:#4f9d69}.gfre-palette-item.is-unanswered{background:#e8b04f}.gfre-palette-item.is-review{box-shadow:inset 0 0 0 3px #8c62d4}.gfre-palette-item.is-current{outline:3px solid #2e2a22;outline-offset:1px}.gfre-submit-btn{width:100%;margin-top:20px}.gfre-result{padding-bottom:30px}.gfre-result-hero{text-align:center;background:linear-gradient(135deg,#fff3bd,#fff);border:1px solid var(--gfre-line);border-radius:22px;padding:30px}.gfre-result-hero h2{margin:6px 0 18px}.gfre-score-ring{width:150px;height:150px;border-radius:50%;background:#fff;border:10px solid var(--gfre-yellow);margin:18px auto;display:flex;flex-direction:column;justify-content:center}.gfre-score-ring strong{font-size:32px}.gfre-score-ring span{font-size:12px}.gfre-result-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;max-width:850px;margin:20px auto}.gfre-result-stats div{background:#fff;border:1px solid var(--gfre-line);border-radius:12px;padding:12px}.gfre-result-stats strong,.gfre-result-stats span{display:block}.gfre-progress{height:9px;background:#e9e3d3;border-radius:999px;overflow:hidden;max-width:800px;margin:20px auto 0}.gfre-progress span{display:block;height:100%;background:var(--gfre-yellow-dark)}.gfre-result-block{margin-top:24px;background:#fff;border:1px solid var(--gfre-line);border-radius:18px;padding:22px}.gfre-section-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gfre-section-result-grid>div{background:#fffaf0;border-radius:12px;padding:15px}.gfre-section-result-grid h4{margin:0}.gfre-leaderboard{display:grid;gap:8px}.gfre-leaderboard>div{display:grid;grid-template-columns:45px 1fr 80px 80px;gap:10px;align-items:center;border-bottom:1px solid #eee5d2;padding:10px}.gfre-leaderboard>div.is-top{background:#fff8db;border-radius:9px;border:0}.gfre-leaderboard em{font-style:normal;font-weight:800}.gfre-answer-review{display:grid;gap:14px}.gfre-answer-item{border:1px solid var(--gfre-line);border-left:5px solid #c7c0b3;border-radius:12px;padding:18px}.gfre-answer-item.is-correct{border-left-color:#4f9d69}.gfre-answer-item.is-wrong{border-left-color:#c95e5e}.gfre-answer-item.is-skipped{border-left-color:#e8b04f}.gfre-answer-item header{display:flex;justify-content:space-between}.gfre-answer-item h4{font-size:17px;line-height:1.55}.gfre-answer-item ul{list-style:none;padding:0;margin:12px 0}.gfre-answer-item li{padding:8px 10px;border-radius:8px}.gfre-answer-item li.is-correct{background:#e9f7ed}.gfre-answer-item li.is-selected-wrong{background:#fdeaea}.gfre-answer-line{font-size:13px}.gfre-explanation{background:#fffaf0;padding:12px;border-radius:9px}.gfre-result-actions{text-align:center;margin:22px 0}.gfre-login-gate{max-width:700px;margin:50px auto}.gfre-error{border-color:#d98d8d;background:#fff3f3}@media(max-width:1000px){.gfre-card-grid{grid-template-columns:repeat(2,1fr)}.gfre-exam-layout{grid-template-columns:1fr}.gfre-palette-panel{border-left:0;border-top:1px solid var(--gfre-line)}.gfre-palette{grid-template-columns:repeat(10,1fr);max-height:none}.gfre-section-result-grid{grid-template-columns:1fr 1fr}}@media(max-width:680px){.gfre-hub,.gfre-test-shell{padding:0 10px;margin:16px auto}.gfre-hero{padding:24px;align-items:flex-start}.gfre-hero-badge{width:80px;height:80px}.gfre-hero-badge strong{font-size:20px}.gfre-card-grid{grid-template-columns:1fr}.gfre-section-heading{display:block}.gfre-section-heading p{margin-top:8px}.gfre-test-intro{padding:24px;margin:20px 0}.gfre-test-intro h1{font-size:30px}.gfre-exam-header{align-items:flex-start}.gfre-question-panel{padding:18px}.gfre-question-text{font-size:18px}.gfre-question-actions{flex-direction:column}.gfre-question-actions>div{display:grid;grid-template-columns:1fr 1fr}.gfre-question-actions .gfre-btn{width:100%}.gfre-palette{grid-template-columns:repeat(5,1fr)}.gfre-result-stats{grid-template-columns:repeat(2,1fr)}.gfre-section-result-grid{grid-template-columns:1fr}.gfre-leaderboard>div{grid-template-columns:35px 1fr 65px}.gfre-leaderboard small{display:none}.gfre-text-link{display:block;margin:14px 0 0}.gfre-option{grid-template-columns:20px 32px 1fr;padding:11px 10px}}

/* v0.2.3 — dedicated full-screen examination mode. */
body.gfre-test-route .entry-header,
body.gfre-test-route .page-header,
body.gfre-test-route .entry-title,
body.gfre-test-route .page-title,
body.gfre-test-route .wp-block-post-title,
body.gfre-test-route main > h1:first-child,
body.gfre-test-route .site-main > h1:first-child {
	display:none!important;
}
body.gfre-test-route .site-main,
body.gfre-test-route #primary,
body.gfre-test-route .content-area,
body.gfre-test-route article.page,
body.gfre-test-route article.type-page,
body.gfre-test-route .entry-content {
	max-width:none!important;
	width:100%!important;
	margin-top:0!important;
	padding-top:0!important;
}
body.gfre-test-route .gfre-test-shell {
	max-width:1440px;
	margin:12px auto 30px;
}
html.gfre-exam-active-root {
	margin-top:0!important;
	overflow:hidden!important;
}
body.gfre-exam-active {
	overflow:hidden!important;
}
body.gfre-exam-active #wpadminbar,
body.gfre-exam-active header.site-header,
body.gfre-exam-active #masthead,
body.gfre-exam-active .site-header,
body.gfre-exam-active .elementor-location-header,
body.gfre-exam-active footer.site-footer,
body.gfre-exam-active #colophon,
body.gfre-exam-active .site-footer,
body.gfre-exam-active .elementor-location-footer,
body.gfre-exam-active .gsp-site-header,
body.gfre-exam-active .gsp-premium-footer,
body.gfre-exam-active .gsp-footer,
body.gfre-exam-active .wp-site-blocks > header,
body.gfre-exam-active .wp-site-blocks > footer {
	display:none!important;
}
body.gfre-exam-active .gfre-test-shell {
	position:fixed!important;
	inset:0!important;
	z-index:2147483000!important;
	width:100vw!important;
	height:100vh!important;
	max-width:none!important;
	margin:0!important;
	padding:0!important;
	background:#f5f2ea;
}
body.gfre-exam-active .gfre-exam {
	display:flex;
	flex-direction:column;
	width:100%;
	height:100%;
	border:0;
	border-radius:0;
	box-shadow:none;
	overflow:hidden;
}
body.gfre-exam-active .gfre-exam-header {
	flex:0 0 auto;
	min-height:76px;
	padding:13px 22px;
}
.gfre-exam-title {
	min-width:0;
}
.gfre-exam-title h2 {
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
	max-width:min(58vw,820px);
}
.gfre-exam-tools {
	display:flex;
	align-items:center;
	gap:14px;
	flex:0 0 auto;
}
.gfre-exit-btn {
	border:1px solid rgba(255,255,255,.45);
	border-radius:9px;
	background:transparent;
	color:#fff;
	padding:9px 13px;
	font-weight:800;
	cursor:pointer;
}
.gfre-exit-btn:hover,
.gfre-exit-btn:focus {
	background:#fff;
	color:#2e2a22;
}
body.gfre-exam-active .gfre-timer span {
	color:#fff4c7;
	font-weight:700;
}
body.gfre-exam-active .gfre-timer strong {
	color:#fff;
	font-size:25px;
	font-variant-numeric:tabular-nums;
}
body.gfre-exam-active .gfre-section-tabs {
	flex:0 0 auto;
	min-height:47px;
}
body.gfre-exam-active .gfre-exam-layout {
	flex:1 1 auto;
	min-height:0;
	height:auto;
	grid-template-columns:minmax(0,1fr) 330px;
	overflow:hidden;
}
body.gfre-exam-active .gfre-question-panel {
	min-width:0;
	height:100%;
	overflow-y:auto;
	padding:24px 30px 0;
	scrollbar-gutter:stable;
}
body.gfre-exam-active .gfre-question-actions {
	position:sticky;
	bottom:0;
	z-index:5;
	margin-top:26px;
	padding:16px 0 18px;
	background:linear-gradient(to bottom,rgba(255,255,255,.92),#fff 26%);
}
body.gfre-exam-active .gfre-palette-panel {
	display:flex;
	flex-direction:column;
	min-height:0;
	height:100%;
	padding:18px 18px 16px;
	overflow:hidden;
}
body.gfre-exam-active .gfre-palette-panel h3,
body.gfre-exam-active .gfre-legend {
	flex:0 0 auto;
}
body.gfre-exam-active .gfre-palette {
	flex:1 1 auto;
	min-height:0;
	max-height:none;
	align-content:start;
	overflow-y:auto;
	overflow-x:hidden;
	padding:4px 5px 9px 4px;
	scrollbar-gutter:stable;
}
body.gfre-exam-active .gfre-palette-item {
	min-height:42px;
	aspect-ratio:auto;
	line-height:1;
}
body.gfre-exam-active .gfre-submit-btn {
	position:relative;
	flex:0 0 auto;
	margin-top:12px;
	min-height:45px;
}
@media(max-width:1000px){
	body.gfre-exam-active .gfre-exam-layout{grid-template-columns:minmax(0,1fr) 285px}
	body.gfre-exam-active .gfre-palette{grid-template-columns:repeat(5,1fr)}
}
@media(max-width:760px){
	body.gfre-exam-active{overflow:auto!important}
	html.gfre-exam-active-root{overflow:auto!important}
	body.gfre-exam-active .gfre-test-shell{position:fixed!important;overflow:auto!important}
	body.gfre-exam-active .gfre-exam{height:auto;min-height:100vh;overflow:visible}
	body.gfre-exam-active .gfre-exam-header{position:sticky;top:0;z-index:30;min-height:68px;padding:10px 12px}
	.gfre-exam-title h2{max-width:48vw;font-size:15px}
	.gfre-exam-brand{font-size:10px}
	.gfre-exam-tools{gap:8px}
	body.gfre-exam-active .gfre-timer strong{font-size:18px}
	.gfre-exit-btn{padding:7px 9px;font-size:12px}
	body.gfre-exam-active .gfre-section-tabs{position:sticky;top:68px;z-index:25}
	body.gfre-exam-active .gfre-exam-layout{display:block;height:auto;overflow:visible}
	body.gfre-exam-active .gfre-question-panel{height:auto;overflow:visible;padding:18px 14px 0}
	body.gfre-exam-active .gfre-question-actions{bottom:0}
	body.gfre-exam-active .gfre-palette-panel{height:auto;overflow:visible;padding:18px 14px}
	body.gfre-exam-active .gfre-palette{max-height:none;overflow:visible;grid-template-columns:repeat(5,1fr)}
	body.gfre-exam-active .gfre-palette-item{min-height:40px}
}


/* ================================================================
 * v0.2.4 — Desktop examination viewport hardening
 * Keeps the complete palette inside the viewport and protects the
 * dark title/timer bar from aggressive theme header/aside/main CSS.
 * ================================================================ */
body.gfre-exam-active .gfre-test-shell,
body.gfre-exam-active .gfre-test-shell * {
	box-sizing:border-box!important;
}
body.gfre-exam-active .gfre-test-shell {
	left:0!important;
	right:0!important;
	top:0!important;
	bottom:0!important;
	inset:0!important;
	width:auto!important;
	max-width:none!important;
	height:100vh!important;
	height:100dvh!important;
	min-width:0!important;
	transform:none!important;
}
body.gfre-exam-active .gfre-exam {
	width:100%!important;
	max-width:100%!important;
	min-width:0!important;
	height:100%!important;
	margin:0!important;
	padding:0!important;
	background:#fff!important;
}
body.gfre-exam-active .gfre-exam-header {
	display:flex!important;
	visibility:visible!important;
	align-items:center!important;
	justify-content:space-between!important;
	width:100%!important;
	max-width:none!important;
	min-width:0!important;
	min-height:72px!important;
	margin:0!important;
	padding:12px 20px!important;
	border:0!important;
	border-radius:0!important;
	background:#2e2a22!important;
	background-image:none!important;
	color:#fff!important;
	box-shadow:none!important;
}
body.gfre-exam-active .gfre-exam-header .gfre-exam-title {
	display:block!important;
	visibility:visible!important;
	min-width:0!important;
	max-width:calc(100% - 245px)!important;
	margin:0!important;
	padding:0!important;
	background:transparent!important;
}
body.gfre-exam-active .gfre-exam-header .gfre-exam-brand {
	display:block!important;
	visibility:visible!important;
	margin:0 0 3px!important;
	padding:0!important;
	background:transparent!important;
	color:#f4bd3f!important;
	font-size:11px!important;
	font-weight:800!important;
	line-height:1.2!important;
	letter-spacing:.11em!important;
}
body.gfre-exam-active .gfre-exam-header h2 {
	display:block!important;
	visibility:visible!important;
	max-width:100%!important;
	margin:0!important;
	padding:0!important;
	background:transparent!important;
	color:#fff!important;
	font-size:clamp(16px,1.45vw,21px)!important;
	font-weight:800!important;
	line-height:1.25!important;
	white-space:nowrap!important;
	overflow:hidden!important;
	text-overflow:ellipsis!important;
}
body.gfre-exam-active .gfre-exam-tools {
	display:flex!important;
	visibility:visible!important;
	align-items:center!important;
	justify-content:flex-end!important;
	gap:12px!important;
	min-width:220px!important;
	margin:0!important;
	padding:0!important;
	background:transparent!important;
}
body.gfre-exam-active .gfre-timer,
body.gfre-exam-active .gfre-timer span,
body.gfre-exam-active .gfre-timer strong,
body.gfre-exam-active .gfre-exit-btn {
	display:block!important;
	visibility:visible!important;
}
body.gfre-exam-active .gfre-timer {
	min-width:108px!important;
	margin:0!important;
	padding:0!important;
	background:transparent!important;
	color:#fff!important;
	text-align:right!important;
}
body.gfre-exam-active .gfre-timer span {
	color:#fff4c7!important;
	font-size:11px!important;
	font-weight:800!important;
	line-height:1.1!important;
}
body.gfre-exam-active .gfre-timer strong {
	color:#fff!important;
	font-size:23px!important;
	font-weight:850!important;
	line-height:1.15!important;
	font-variant-numeric:tabular-nums!important;
}
body.gfre-exam-active .gfre-exit-btn {
	width:auto!important;
	min-width:82px!important;
	margin:0!important;
	padding:9px 12px!important;
	border:1px solid rgba(255,255,255,.55)!important;
	border-radius:8px!important;
	background:transparent!important;
	color:#fff!important;
	font-size:13px!important;
	font-weight:800!important;
	line-height:1.15!important;
}
body.gfre-exam-active .gfre-section-tabs {
	display:flex!important;
	width:100%!important;
	max-width:100%!important;
	min-width:0!important;
	min-height:46px!important;
	margin:0!important;
	padding:0!important;
	overflow-x:auto!important;
	overflow-y:hidden!important;
	background:#fffaf0!important;
}
body.gfre-exam-active .gfre-section-tabs button {
	min-height:46px!important;
	padding:11px 18px!important;
	font-size:14px!important;
	line-height:1.2!important;
}
body.gfre-exam-active .gfre-exam-layout {
	display:grid!important;
	grid-template-columns:minmax(0,1fr) minmax(270px,305px)!important;
	width:100%!important;
	max-width:100%!important;
	min-width:0!important;
	min-height:0!important;
	margin:0!important;
	padding:0!important;
	overflow:hidden!important;
}
body.gfre-exam-active main.gfre-question-panel {
	display:flex!important;
	flex-direction:column!important;
	width:auto!important;
	max-width:none!important;
	min-width:0!important;
	min-height:0!important;
	margin:0!important;
	padding:22px 26px 0!important;
	overflow-y:auto!important;
	overflow-x:hidden!important;
	background:#fff!important;
}
body.gfre-exam-active .gfre-question-top {
	flex:0 0 auto!important;
	width:100%!important;
	margin:0 0 16px!important;
	padding:0 0 13px!important;
	font-size:16px!important;
}
body.gfre-exam-active .gfre-question-text {
	flex:0 0 auto!important;
	width:100%!important;
	max-width:1050px!important;
	margin:0 0 18px!important;
	font-size:clamp(17px,1.25vw,20px)!important;
	line-height:1.55!important;
}
body.gfre-exam-active .gfre-options {
	flex:0 0 auto!important;
	width:100%!important;
	max-width:1050px!important;
	gap:10px!important;
}
body.gfre-exam-active .gfre-option {
	min-height:52px!important;
	padding:10px 13px!important;
	font-size:15px!important;
	line-height:1.35!important;
}
body.gfre-exam-active .gfre-question-actions {
	flex:0 0 auto!important;
	width:100%!important;
	margin-top:auto!important;
	padding:15px 0 16px!important;
	background:#fff!important;
	background-image:linear-gradient(to bottom,rgba(255,255,255,.88),#fff 25%)!important;
}
body.gfre-exam-active aside.gfre-palette-panel {
	display:flex!important;
	flex-direction:column!important;
	width:auto!important;
	max-width:none!important;
	min-width:0!important;
	min-height:0!important;
	height:100%!important;
	margin:0!important;
	padding:16px 14px 14px!important;
	border-left:1px solid #eadfbf!important;
	background:#fffaf0!important;
	overflow:hidden!important;
}
body.gfre-exam-active .gfre-palette-panel h3 {
	margin:0 0 9px!important;
	font-size:17px!important;
	line-height:1.25!important;
}
body.gfre-exam-active .gfre-legend {
	grid-template-columns:1fr 1fr!important;
	gap:6px!important;
	margin:0 0 10px!important;
	font-size:11px!important;
	line-height:1.25!important;
}
body.gfre-exam-active .gfre-palette {
	display:grid!important;
	grid-template-columns:repeat(5,minmax(0,1fr))!important;
	width:100%!important;
	max-width:100%!important;
	min-width:0!important;
	gap:7px!important;
	padding:4px 5px 8px 3px!important;
	overflow-y:auto!important;
	overflow-x:hidden!important;
}
body.gfre-exam-active .gfre-palette-item {
	width:100%!important;
	min-width:0!important;
	min-height:36px!important;
	padding:4px 1px!important;
	font-size:12px!important;
	line-height:1!important;
}
body.gfre-exam-active .gfre-submit-btn {
	width:100%!important;
	min-width:0!important;
	min-height:43px!important;
	margin:10px 0 0!important;
	padding:10px 8px!important;
}
@media (max-width:1120px) and (min-width:761px) {
	body.gfre-exam-active .gfre-exam-layout {
		grid-template-columns:minmax(0,1fr) 255px!important;
	}
	body.gfre-exam-active main.gfre-question-panel {
		padding-left:20px!important;
		padding-right:20px!important;
	}
	body.gfre-exam-active aside.gfre-palette-panel {
		padding-left:11px!important;
		padding-right:11px!important;
	}
	body.gfre-exam-active .gfre-palette {
		gap:5px!important;
	}
	body.gfre-exam-active .gfre-palette-item {
		min-height:34px!important;
		font-size:11px!important;
	}
}
@media (max-width:760px) {
	body.gfre-exam-active .gfre-test-shell {
		height:100dvh!important;
		overflow-y:auto!important;
	}
	body.gfre-exam-active .gfre-exam-header {
		min-height:66px!important;
		padding:9px 10px!important;
	}
	body.gfre-exam-active .gfre-exam-header .gfre-exam-title {
		max-width:calc(100% - 178px)!important;
	}
	body.gfre-exam-active .gfre-exam-tools {
		min-width:168px!important;
		gap:6px!important;
	}
	body.gfre-exam-active .gfre-timer {
		min-width:91px!important;
	}
	body.gfre-exam-active .gfre-timer strong {
		font-size:17px!important;
	}
	body.gfre-exam-active .gfre-exit-btn {
		min-width:68px!important;
		padding:7px 8px!important;
	}
	body.gfre-exam-active .gfre-exam-layout {
		display:block!important;
		overflow:visible!important;
	}
	body.gfre-exam-active main.gfre-question-panel,
	body.gfre-exam-active aside.gfre-palette-panel {
		height:auto!important;
		overflow:visible!important;
	}
	body.gfre-exam-active .gfre-question-actions {
		margin-top:20px!important;
	}
}


/* v0.2.5 — hub render and mobile overflow safeguards */
.gfre-hub,
.gfre-test-shell {
	width:100%;
}
.gfre-hub a,
.gfre-hub h1,
.gfre-hub h2,
.gfre-hub h3,
.gfre-hub p,
.gfre-test-shell a,
.gfre-test-shell h1,
.gfre-test-shell h2,
.gfre-test-shell h3,
.gfre-test-shell p {
	overflow-wrap:anywhere;
	word-break:normal;
}


/* v0.2.6 — test catalogue categorisation and readable titles */
.gfre-filter-bar{
	overflow-x:auto;
	overflow-y:hidden;
	scrollbar-width:thin;
	-webkit-overflow-scrolling:touch;
}
.gfre-test-filter-panel{
	margin:18px 0 26px;
	padding:15px;
	border:1px solid var(--gfre-line);
	border-radius:16px;
	background:linear-gradient(135deg,#fffdf6,#fff8dc);
}
.gfre-test-filter-row{
	display:flex;
	align-items:center;
	gap:8px;
	overflow-x:auto;
	overflow-y:hidden;
	padding:3px 1px 8px;
	scrollbar-width:thin;
	-webkit-overflow-scrolling:touch;
}
.gfre-filter-label{
	flex:0 0 78px;
	font-size:12px;
	text-transform:uppercase;
	letter-spacing:.08em;
	color:#705b17;
}
.gfre-filter-chip{
	flex:0 0 auto;
	display:inline-flex;
	align-items:center;
	gap:7px;
	min-height:38px;
	padding:8px 12px;
	border:1px solid #e5d9b5;
	border-radius:999px;
	background:#fff;
	color:#302818!important;
	text-decoration:none!important;
	font-size:13px;
	font-weight:800;
	white-space:nowrap;
}
.gfre-filter-chip span{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:22px;
	height:22px;
	padding:0 6px;
	border-radius:999px;
	background:#f6f1e2;
	font-size:11px;
}
.gfre-filter-chip:hover,
.gfre-filter-chip.is-active{
	border-color:var(--gfre-yellow-dark);
	background:var(--gfre-yellow);
	color:#221d12!important;
}
.gfre-filter-chip.is-active span{
	background:rgba(255,255,255,.66);
}
.gfre-test-filter-summary{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	padding:7px 3px 0 82px;
	font-size:13px;
	color:#6b6251;
}
.gfre-test-filter-summary strong{
	color:#272118;
	font-size:16px;
}
.gfre-test-filter-summary a{
	color:#785d00!important;
	font-weight:800;
}
.gfre-test-group{
	margin-top:26px;
}
.gfre-test-group+.gfre-test-group{
	margin-top:34px;
	padding-top:30px;
	border-top:1px solid var(--gfre-line);
}
.gfre-test-group-heading{
	display:flex;
	align-items:center;
	gap:12px;
	margin:0 0 14px;
}
.gfre-test-group-icon{
	display:flex;
	align-items:center;
	justify-content:center;
	width:44px;
	height:44px;
	flex:0 0 44px;
	border-radius:13px;
	background:var(--gfre-yellow);
	color:#31260c;
	font-size:13px;
	font-weight:900;
	letter-spacing:.06em;
	box-shadow:0 5px 15px rgba(185,138,0,.16);
}
.gfre-test-group-heading h3{
	margin:0;
	font-size:21px;
}
.gfre-test-group-heading p{
	margin:2px 0 0;
	color:#776f61;
	font-size:13px;
}
.gfre-test-card-labels{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:7px;
}
.gfre-test-subject{
	display:inline-flex;
	align-self:flex-start;
	border:1px solid #e7ddc1;
	border-radius:999px;
	background:#fff;
	padding:5px 9px;
	font-size:11px;
	font-weight:800;
	color:#64552b;
}
.gfre-test-card h3{
	margin:10px 0 7px;
	font-size:17px;
	line-height:1.35;
	overflow-wrap:break-word;
	word-break:normal;
}
.gfre-test-card .gfre-btn{
	margin-top:auto;
}
@media(max-width:680px){
	.gfre-test-filter-panel{
		margin:14px 0 22px;
		padding:11px;
	}
	.gfre-test-filter-row{
		align-items:flex-start;
	}
	.gfre-filter-label{
		position:sticky;
		left:0;
		z-index:2;
		flex-basis:64px;
		padding:10px 6px 10px 0;
		background:#fffaf0;
	}
	.gfre-filter-chip{
		min-height:36px;
		padding:7px 11px;
	}
	.gfre-test-filter-summary{
		padding-left:2px;
	}
	.gfre-test-group-heading h3{
		font-size:18px;
	}
	.gfre-test-card h3{
		font-size:16px;
	}
}
