/* Kids' Learning Hub — bigger type, rounder shapes, friendlier colours. */
.kids-hub,
.kids-lesson,
.kids-cert-wrap,
.kids-intro,
.kids-steps,
.kids-lessons,
.kids-buddies,
.kids-faq {
	/* the guest hub renders these sections without the .kids-hub wrapper (2026-10-19) */
	--kids-yellow: #ffd166;
	--kids-mint: #b8f2e6;
	--kids-pink: #ffb7d5;
	--kids-blue: #aed9ff;
	font-size: 1.0625rem;
}

.kids-axel {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	margin: 0 0 1.5rem;
}

.kids-axel img {
	width: 140px;
	height: 140px;
	border-radius: 28%; /* companion artwork is contained with margins: a rounded square shows all of it, a circle clipped the gills */
	background: #fff;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
	flex: none;
}

.kids-axel__bubble {
	position: relative;
	background: #fff;
	border-radius: 20px;
	padding: 1rem 1.25rem;
	font-size: 1.125rem;
	line-height: 1.5;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
}

.kids-axel__bubble::before {
	content: "";
	position: absolute;
	left: -12px;
	top: 50%;
	border: 8px solid transparent;
	border-right-color: #fff;
	transform: translateY(-50%);
}

.kids-profiles {
	background: #fff;
	border-radius: 18px;
	padding: 1.25rem 1.5rem;
	margin: 0 0 1.5rem;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
}

.kids-profiles__select {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.6rem;
	margin: 0 0 0.75rem;
}

.kids-profiles__label {
	font-weight: 700;
	margin-right: 0.25rem;
}

.kids-profiles__chip {
	padding: 0.5rem 1rem;
	border: 2px solid #dfe5ea;
	border-radius: 999px;
	background: #fff;
	font-weight: 700;
	font-size: 1rem;
	cursor: pointer;
}

.kids-profiles__chip small {
	font-weight: 400;
	color: var(--color-sage, #6b7680);
	margin-left: 0.25rem;
}

.kids-profiles__chip.is-active {
	background: var(--color-primary, #a21559);
	border-color: var(--color-primary, #a21559);
	color: #fff;
}

.kids-profiles__chip.is-active small {
	color: rgba(255, 255, 255, 0.85);
}

.kids-profiles__add summary {
	cursor: pointer;
	font-weight: 700;
	color: var(--color-primary, #a21559);
}

.kids-profiles__form {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 0.75rem;
	margin-top: 0.75rem;
}

.kids-profiles__form label {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	font-weight: 700;
	font-size: 0.9375rem;
}

.kids-profiles__form input,
.kids-profiles__form select {
	padding: 0.6rem 0.8rem;
	border: 1px solid #d5d5d5;
	border-radius: 10px;
	font-size: 1rem;
}

.kids-profiles__privacy {
	flex-basis: 100%;
	margin: 0.25rem 0 0;
	font-size: 0.8125rem;
	color: var(--color-sage, #6b7680);
}

.kids-progress {
	display: grid;
	gap: 0.6rem;
	margin: 0 0 1.75rem;
}

.kids-progress__bar {
	height: 14px;
	border-radius: 999px;
	background: #e3e9ee;
	overflow: hidden;
}

.kids-progress__bar span {
	display: block;
	height: 100%;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--color-primary, #a21559), #1877e3);
	transition: width 0.4s ease;
}

.kids-progress p {
	margin: 0;
	font-weight: 600;
}

.kids-lessons {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1.25rem;
}

.kids-lesson-card a {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	background: #fff;
	border-radius: 20px;
	overflow: hidden;
	text-decoration: none;
	color: var(--color-text, #444);
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
	transition: transform 0.15s ease;
}

.kids-lesson-card a:hover {
	transform: translateY(-4px) rotate(-0.5deg);
}

.kids-lesson-card__num {
	position: absolute;
	top: 12px;
	left: 12px;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--kids-yellow);
	color: #1f2421;
	font-weight: 800;
	font-size: 1.2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
}

.kids-lesson-card.is-done .kids-lesson-card__num {
	background: var(--kids-mint);
}

.kids-lesson-card__img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.kids-lesson-card__body {
	padding: 1rem 1.25rem 1.25rem;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.kids-lesson-card__title {
	font-family: var(--font-heading, inherit);
	font-size: 1.25rem;
	color: var(--color-ink, #1f2421);
}

.kids-lesson-card__text {
	font-size: 0.9375rem;
}

/* Lesson page */
.kids-lesson .entry-content {
	font-size: 1.125rem;
	line-height: 1.7;
}

.kids-lesson .entry-content h2 {
	margin-top: 1.5em;
}

.kids-lesson .entry-content .kids-fact {
	background: var(--kids-blue);
	border-radius: 16px;
	padding: 1rem 1.25rem;
	margin: 1.25rem 0;
	font-weight: 600;
}

.kids-task {
	background: var(--kids-yellow);
	border-radius: 18px;
	padding: 1.25rem 1.5rem;
	margin: 2rem 0;
}

.kids-task__label {
	display: inline-block;
	font-size: 0.8125rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: 0.4rem;
}

.kids-task p {
	margin: 0;
	font-size: 1.0625rem;
	font-weight: 600;
}

.kids-quiz {
	background: #fff;
	border-radius: 20px;
	padding: 1.5rem;
	margin: 2rem 0;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
}

.kids-quiz__title {
	margin: 0 0 1rem;
}

.kids-q {
	border: 0;
	padding: 0;
	margin: 0 0 1.25rem;
}

.kids-q legend {
	font-weight: 700;
	font-size: 1.0625rem;
	margin-bottom: 0.6rem;
}

.kids-q legend.wiggle {
	animation: kids-wiggle 0.4s ease;
}

@keyframes kids-wiggle {
	25% { transform: translateX(-4px); }
	75% { transform: translateX(4px); }
}

.kids-q__opt {
	display: block;
	width: 100%;
	text-align: left;
	margin: 0 0 0.45rem;
	padding: 0.7rem 1rem;
	border: 2px solid #dfe5ea;
	border-radius: 14px;
	background: #fff;
	font-size: 1rem;
	font-family: inherit;
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease;
}

.kids-q__opt:hover:not(:disabled) {
	border-color: var(--color-primary, #a21559);
}

.kids-q__opt.is-right {
	background: var(--kids-mint);
	border-color: #2e9e57;
}

.kids-q__opt.is-wrong {
	background: #fdeeee;
	border-color: #e3b4b4;
	opacity: 0.7;
}

.kids-q__explain {
	margin: 0.4rem 0 0;
	font-size: 0.9375rem;
	color: #1e6b3a;
}

.kids-quiz__result {
	background: var(--kids-mint);
	border-radius: 14px;
	padding: 1rem 1.25rem;
	font-size: 1.125rem;
}

.kids-quiz__cert {
	margin-top: 0.75rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
}

.kids-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 1.5rem 0;
}

/* Certificate */
.kids-cert-wrap {
	max-width: 1000px;
	margin: 0 auto;
}

.kids-cert-actions {
	display: flex;
	gap: 0.75rem;
	margin: 0 0 1.25rem;
}

.kids-cert {
	background: #fff;
	padding: 24px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
}

.kids-cert__border {
	position: relative;
	border: 6px double var(--color-primary, #a21559);
	border-radius: 18px;
	padding: 48px 56px 40px;
	text-align: center;
	background:
		radial-gradient(60% 50% at 0% 0%, rgba(24, 119, 227, 0.08), transparent 60%),
		radial-gradient(60% 50% at 100% 100%, rgba(162, 21, 89, 0.08), transparent 60%);
}

.kids-cert__axel {
	position: absolute;
	top: 20px;
	right: 24px;
	width: 112px;
	height: 112px;
	border-radius: 28%;
	background: #fff;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}

.kids-cert__eyebrow {
	margin: 0 0 0.5rem;
	font-size: 0.8125rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-sage, #6b7680);
}

.kids-cert__title {
	margin: 0;
	font-size: 3rem;
	color: var(--color-primary, #a21559);
	letter-spacing: 0.02em;
}

.kids-cert__sub {
	margin: 0.25rem 0 2rem;
	font-size: 1.125rem;
	font-weight: 700;
	color: #1877e3;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.kids-cert__presented {
	margin: 0;
	font-style: italic;
	color: var(--color-sage, #6b7680);
}

.kids-cert__name {
	margin: 0.25rem 0 1.25rem;
	font-family: var(--font-heading, inherit);
	font-size: 3.25rem;
	color: var(--color-ink, #1f2421);
	border-bottom: 2px solid var(--color-primary, #a21559);
	display: inline-block;
	padding: 0 2rem 0.25rem;
}

.kids-cert__body {
	max-width: 40rem;
	margin: 0 auto 2.5rem;
	font-size: 1.0625rem;
	line-height: 1.6;
}

.kids-cert__foot {
	display: grid;
	grid-template-columns: 1fr 1.2fr 1fr;
	gap: 1.5rem;
	align-items: end;
}

.kids-cert__foot div {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.kids-cert__line {
	border-top: 1.5px solid #1f2421;
	padding-top: 0.4rem;
	font-weight: 700;
}

.kids-cert__sig {
	font-family: "Segoe Script", "Brush Script MT", cursive;
	font-size: 1.5rem;
	font-weight: 400;
	color: var(--color-primary, #a21559);
}

.kids-cert__foot small {
	font-size: 0.75rem;
	color: var(--color-sage, #6b7680);
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

@media print {
	body * { visibility: hidden; }
	.kids-cert, .kids-cert * { visibility: visible; }
	.kids-cert { position: absolute; left: 0; top: 0; width: 100%; box-shadow: none; padding: 0; }
	@page { size: landscape; margin: 12mm; }
}

@media (max-width: 640px) {
	.kids-axel { flex-direction: column; text-align: center; }
	.kids-axel__bubble::before { display: none; }
	.kids-cert__border { padding: 32px 20px; }
	.kids-cert__title { font-size: 2.2rem; }
	.kids-cert__name { font-size: 2.2rem; }
	.kids-cert__foot { grid-template-columns: 1fr; }
	.kids-cert__axel { width: 76px; height: 76px; top: 12px; right: 12px; }
}

/* Theme .entry-content img rules give images 8px corners. */
.kids-axel img,
.kids-cert__axel {
	border-radius: 28% !important;
}

.axel-chat__avatar {
	border-radius: 50% !important;
}

.kids-cert-next {
	margin: 2rem 0;
	background: #fff;
	border-radius: 18px;
	padding: 1.5rem 1.75rem;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
}

.kids-cert-next h2 {
	margin: 0 0 0.5rem;
}

.kids-cert-next__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 1rem 0 0;
}

@media print {
	.kids-cert-next, .kids-cert-actions { display: none; }
}

/* Learning companions (2026-10-16): avatar chips, the picker grid, the guests' preview, certificate line. */
.kids-profiles__chip {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
}

.kids-profiles__avatar {
	width: 32px;
	height: 32px;
	border-radius: 28%;
	background: #fff;
}

.kids-profiles__pick {
	flex-basis: 100%;
}

.kids-profiles__pick-label,
.kids-profiles__change summary {
	font-weight: 700;
}

.kids-profiles__change {
	margin-top: 0.75rem;
}

.kids-profiles__change summary {
	cursor: pointer;
	color: var(--color-primary, #a21559);
}

.kids-profiles__change form {
	margin-top: 0.75rem;
}

.kids-picker {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(112px, 1fr));
	gap: 0.5rem;
	margin: 0.5rem 0 0.75rem;
}

.kids-picker__item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.15rem;
	padding: 0.6rem 0.25rem 0.5rem;
	border: 2px solid #dfe5ea;
	border-radius: 14px;
	background: #fff;
	cursor: pointer;
	text-align: center;
	font-weight: 400;
	font-size: 0.8125rem;
	transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s;
}

.kids-picker__item:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
}

.kids-picker__item input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	pointer-events: none;
}

.kids-picker__item img {
	width: 92px;
	height: 92px;
	border-radius: 28%;
	background: #fff;
}

.kids-picker__name {
	font-weight: 700;
	font-size: 0.9375rem;
	margin-top: 0.25rem;
}

.kids-picker__role {
	color: var(--color-sage, #6b7680);
	font-size: 0.75rem;
	line-height: 1.2;
}

.kids-picker__item:has(input:checked) {
	border-color: var(--color-primary, #a21559);
	background: #fff5f9;
	box-shadow: 0 0 0 2px rgba(162, 21, 89, 0.15);
}

.kids-picker__item:has(input:focus-visible) {
	outline: 3px solid var(--color-blue, #1877e3);
	outline-offset: 2px;
}

.kids-progress__avatar,
.kids-quiz__avatar {
	width: 48px;
	height: 48px;
	border-radius: 28%;
	vertical-align: middle;
	margin-right: 0.5rem;
	background: #fff;
}

.kids-buddies {
	margin: 1.5rem 0;
}

.kids-buddies__title {
	font-size: 1.375rem;
	margin: 0 0 0.25rem;
}

.kids-buddies__text {
	margin: 0;
	color: var(--color-sage, #6b7680);
}

.kids-buddies__list {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
	gap: 0.5rem;
	padding: 0;
	margin: 0.75rem 0 0;
}

.kids-buddies__list li {
	text-align: center;
	font-size: 0.8125rem;
	font-weight: 700;
}

.kids-buddies__list img {
	display: block;
	width: 84px;
	height: 84px;
	margin: 0 auto 0.25rem;
	border-radius: 28%;
	background: #fff;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.kids-cert__buddy {
	margin: -0.25rem 0 0.75rem;
	font-size: 0.9rem;
	color: var(--color-sage, #6b7680);
}

@media (prefers-reduced-motion: reduce) {
	.kids-picker__item { transition: none; }
	.kids-picker__item:hover { transform: none; }
}

@supports not selector(:has(*)) {
	/* older browsers: show the native radio so the choice stays visible */
	.kids-picker__item input {
		position: static;
		opacity: 1;
		width: auto;
		height: auto;
		pointer-events: auto;
	}
}

/* Companion reactions (2026-10-16): the buddy box, its moods, confetti, stickers. */
.kids-buddy {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin: 0 0 1.25rem;
}

.kids-buddy__face {
	flex: none;
	width: 140px;
	height: 140px;
	border-radius: 28%;
	background: #fff;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
	transform-origin: 50% 90%;
}

.kids-buddy__bubble {
	position: relative;
	flex: 1;
	min-height: 3.2rem;
	background: #fff;
	border-radius: 20px;
	padding: 0.9rem 1.1rem;
	font-size: 1.125rem;
	line-height: 1.45;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
}

.kids-buddy__bubble::before {
	content: "";
	position: absolute;
	left: -12px;
	top: 50%;
	border: 8px solid transparent;
	border-right-color: #fff;
	transform: translateY(-50%);
}

.kids-buddy__mute {
	flex: none;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 2px solid #dfe5ea;
	background: #fff;
	font-size: 1.1rem;
	cursor: pointer;
}

.kids-buddy__mute:hover {
	border-color: var(--color-primary, #a21559);
}

.kids-buddy.is-anim-bob .kids-buddy__face {
	animation: kids-bob 1.6s ease-in-out 2;
}

.kids-buddy.is-anim-jump .kids-buddy__face {
	animation: kids-jump 0.7s cubic-bezier(0.2, 0.7, 0.2, 1) 1;
}

.kids-buddy.is-anim-wobble .kids-buddy__face {
	animation: kids-wobble 0.6s ease 1;
}

@keyframes kids-bob {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-8px); }
}

@keyframes kids-jump {
	0% { transform: scale(1); }
	30% { transform: translateY(-18px) scale(1.08) rotate(-4deg); }
	60% { transform: translateY(0) scale(0.98); }
	100% { transform: scale(1); }
}

@keyframes kids-wobble {
	20% { transform: rotate(-6deg); }
	40% { transform: rotate(5deg); }
	60% { transform: rotate(-3deg); }
	80% { transform: rotate(2deg); }
}

.kids-quiz,
.kids-cert-wrap {
	position: relative;
}

.kids-confetti {
	position: absolute;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
	z-index: 5;
}

.kids-confetti--fixed {
	position: fixed; /* whole viewport, wherever the learner has scrolled */
	z-index: 1000;
}

.kids-quiz__grownups {
	flex-basis: 100%;
	font-size: 0.9rem;
	color: var(--color-sage, #6b7680);
}

.kids-quiz__retry {
	margin-top: 0.5rem;
}

.kids-confetti i {
	position: absolute;
	top: -14px;
	width: 10px;
	height: 14px;
	border-radius: 2px;
	animation: kids-confetti-fall 1.8s ease-in forwards;
}

@keyframes kids-confetti-fall {
	to { transform: translateY(640px) rotate(720deg); opacity: 0.25; }
}

.kids-q__opt.is-right {
	animation: kids-pop 0.35s ease;
}

@keyframes kids-pop {
	50% { transform: scale(1.03); }
}

.kids-lesson-card.is-done .kids-lesson-card__num:has(img) {
	border-radius: 28%;
	background: #fff;
}

.kids-lesson-card__num img {
	width: 100%;
	height: 100%;
	border-radius: 28%;
	object-fit: contain;
	background: #fff;
}

@media (max-width: 600px) {
	.kids-buddy__face { width: 100px; height: 100px; }
	.kids-buddy__bubble { font-size: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
	.kids-buddy .kids-buddy__face,
	.kids-q__opt.is-right,
	.kids-q legend.wiggle,
	.kids-confetti i { animation: none !important; }
}


/* SEO pass (2026-10-16): public hub sections, grown-up guides, video, worksheet printing. */
.kids-h2 {
	font-size: 1.5rem;
	margin: 2rem 0 0.75rem;
}

.kids-steps {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 0.75rem;
}

.kids-steps li {
	display: grid;
	gap: 0.3rem;
	background: #fff;
	border-radius: 18px;
	padding: 1.1rem 1.25rem;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
}

.kids-steps__num {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--kids-yellow, #ffd166);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
}

.kids-faq__item {
	background: #fff;
	border-radius: 14px;
	padding: 0.75rem 1.1rem;
	margin: 0 0 0.5rem;
}

.kids-faq__item summary {
	cursor: pointer;
	font-weight: 700;
}

.kids-faq__item p {
	margin: 0.6rem 0 0.2rem;
}

.kids-guides {
	margin: 1.5rem 0;
	padding: 1rem 1.25rem;
	background: #fff;
	border-radius: 14px;
	border-left: 4px solid var(--color-blue, #1877e3);
}

.kids-guides__title {
	font-weight: 700;
	margin: 0 0 0.4rem;
}

.kids-guides ul {
	margin: 0;
	padding-left: 1.1rem;
}

.kids-video {
	margin: 1.5rem 0;
}

.kids-video .alotl-videos__more {
	display: none;
}

.kids-video__note {
	font-size: 0.9rem;
	color: var(--color-sage, #6b7680);
}

.kids-tools {
	margin: 0.75rem 0 0;
}

.kids-worksheet-head {
	display: none;
}

@media print {
	.site-header,
	.site-footer,
	.announcement-bar,
	.page-hero,
	#wpadminbar,
	.kids-buddy,
	.kids-tools,
	.kids-nav,
	.kids-guides,
	.kids-video,
	.alotl-gate,
	.kids-quiz__result,
	.kids-q__explain,
	.alotl-ask-pond,
	.alotl-for-kids,
	.axel-widget,
	.single-article__crumbs { display: none !important; }
	html { margin-top: 0 !important; }
	.kids-lesson { font-size: 12pt; color: #000; }
	.kids-worksheet-head { display: block; margin: 0 0 12pt; font-size: 12pt; }
	.single-article__thumbnail img { max-height: 60mm; width: auto; }
	.kids-task { border: 1pt dashed #777; padding: 8pt; }
	.kids-q { break-inside: avoid; border: 1pt solid #999; border-radius: 0; padding: 8pt 10pt; margin: 0 0 8pt; background: none; box-shadow: none; }
	.kids-q legend { font-weight: 700; }
	.kids-q__opt { display: block; width: auto; background: none !important; border: 0 !important; box-shadow: none !important; color: #000 !important; padding: 2pt 0 2pt 18pt; position: relative; text-align: left; font-size: 11pt; }
	.kids-q__opt::before { content: ""; position: absolute; left: 0; top: 4pt; width: 10pt; height: 10pt; border: 1pt solid #000; }
}

/* The theme rounds content images to 8px (.entry-content img, main.css); inside page content that ties and wins
   by order, so the companion artwork's rounded square is restated at higher specificity. */
.entry-content .kids-buddies__list img,
.entry-content .kids-picker__item img,
.entry-content .kids-profiles__avatar,
.entry-content .kids-progress__avatar,
.entry-content .kids-lesson-card__num img,
.entry-content .kids-buddy__face,
.single-article__body .kids-buddy__face {
	border-radius: 28%;
}


/* Levels, exams, sticker book, the new question types and read-aloud (owner-approved 2026-10-20). */
.kids-levels {
	list-style: none;
	padding: 0;
	margin: 0 0 1.5rem;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 0.75rem;
}

.kids-levels__item {
	background: #fff;
	border-radius: 18px;
	padding: 1rem 1.1rem 1.1rem;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.06);
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.15rem 0.7rem;
	align-items: center;
}

.kids-levels__num {
	grid-row: span 2;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--kids-yellow, #ffd166);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
}

.kids-levels__item.is-complete .kids-levels__num { background: var(--kids-mint, #b8f2e6); }
.kids-levels__item.is-locked { opacity: 0.7; }
.kids-levels__item.is-locked .kids-levels__num { background: #e6ebef; }
.kids-levels__name { font-weight: 800; }
.kids-levels__status { font-size: 0.85rem; color: var(--color-sage, #6b7680); }

.kids-levels__bar {
	grid-column: 1 / -1;
	height: 8px;
	border-radius: 999px;
	background: #eef3f6;
	overflow: hidden;
	margin-top: 0.45rem;
}

.kids-levels__bar span {
	display: block;
	height: 100%;
	border-radius: 999px;
	background: linear-gradient(90deg, #a21559, #1877e3);
}

.kids-level { margin: 0 0 1.5rem; }

.kids-level__tag {
	display: inline-block;
	background: var(--kids-blue, #aed9ff);
	color: #1f2421;
	border-radius: 999px;
	padding: 0.15rem 0.7rem;
	font-size: 0.8rem;
	vertical-align: middle;
	margin-right: 0.3rem;
}

.kids-level__blurb { margin: -0.4rem 0 0.9rem; color: var(--color-sage, #6b7680); }
.kids-level__note { background: #fff8e1; border-radius: 12px; padding: 0.6rem 0.9rem; font-size: 0.95rem; }
.kids-level.is-locked .kids-lesson-card { opacity: 0.75; }

.kids-lesson-card__lock {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 1;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
}

.kids-lesson-card--exam .kids-lesson-card__num { background: var(--kids-pink, #ffb7d5); }

.kids-lesson-card__kind {
	display: inline-block;
	background: var(--kids-pink, #ffb7d5);
	border-radius: 999px;
	padding: 0.05rem 0.55rem;
	font-size: 0.75rem;
	vertical-align: middle;
}

/* Sticker book */
.kids-stickers { margin: 0 0 1.5rem; }
.kids-stickers__list { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 0.6rem; }
.kids-sticker { position: relative; width: 96px; text-align: center; font-size: 0.72rem; font-weight: 700; }

.kids-sticker > img:first-child,
.kids-sticker__blank {
	width: 84px;
	height: 84px;
	border-radius: 50%;
	object-fit: cover;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
	background: #fff;
	border: 3px solid #fff;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	font-size: 2rem;
}

.kids-sticker__face {
	position: absolute;
	right: 2px;
	top: 52px;
	border-radius: 28%;
	background: #fff;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.kids-sticker__name { display: block; margin-top: 0.3rem; line-height: 1.2; }

.kids-sticker--badge .kids-sticker__badge {
	display: flex;
	width: 84px;
	height: 84px;
	margin: 0 auto;
	border-radius: 50%;
	align-items: center;
	justify-content: center;
	font-size: 2.2rem;
	background: linear-gradient(135deg, #ffd166, #ffb7d5);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Read-aloud */
.kids-tools { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.kids-tools__listen.is-on { background: var(--color-primary, #a21559); color: #fff; }

.kids-listen-q {
	margin-left: 0.4rem;
	border: 0;
	background: #eef3f6;
	border-radius: 50%;
	width: 30px;
	height: 30px;
	cursor: pointer;
	font-size: 0.9rem;
	vertical-align: middle;
}

.kids-listen-q.is-on { background: var(--kids-yellow, #ffd166); }
.is-reading { background: #fff8c6; border-radius: 6px; box-shadow: 0 0 0 4px #fff8c6; }

/* Shared question bits */
.kids-q__opts { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.kids-q__how { font-size: 0.85rem; color: var(--color-sage, #6b7680); margin: 0.5rem 0 0; }
.kids-q--truefalse .kids-q__opt { flex: 1 1 40%; font-size: 1.2rem; padding: 1rem; }
.kids-q__sentence { font-size: 1.15rem; margin: 0 0 0.6rem; }

.kids-q__blank {
	display: inline-block;
	min-width: 5rem;
	border-bottom: 3px solid var(--color-primary, #a21559);
	text-align: center;
	margin: 0 0.2rem;
	font-weight: 700;
}

.kids-q__blank.is-filled { color: var(--color-primary, #a21559); }
.kids-q__opts--pics { gap: 0.8rem; }
.kids-q__opt--pic { display: flex; flex-direction: column; align-items: center; gap: 0.3rem; padding: 0.4rem; width: 140px; }
.kids-q__opt--pic img { width: 124px; height: 124px; object-fit: cover; border-radius: 14px; }
.kids-q--scenario legend { background: #fff8e1; border-radius: 12px; padding: 0.6rem 0.8rem; }

/* Match */
.kids-match { display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem 1.2rem; }
.kids-match__left, .kids-match__right { display: grid; gap: 0.5rem; align-content: start; }

.kids-match button {
	text-align: left;
	padding: 0.6rem 0.8rem;
	border: 2px solid #dfe5ea;
	border-radius: 12px;
	background: #fff;
	cursor: pointer;
	font: inherit;
}

.kids-match button.is-selected { border-color: var(--color-blue, #1877e3); box-shadow: 0 0 0 3px rgba(24, 119, 227, 0.2); }
.kids-match button.is-matched { border-color: #5bc49f; background: var(--kids-mint, #b8f2e6); }
.kids-match button.is-wrong { animation: kids-wobble 0.5s ease; border-color: #e0607e; }

/* Sort */
.kids-sort__pool {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	min-height: 3rem;
	padding: 0.6rem;
	border: 2px dashed #dfe5ea;
	border-radius: 14px;
	margin-bottom: 0.8rem;
}

.kids-sort__item {
	border: 2px solid #dfe5ea;
	border-radius: 999px;
	background: #fff;
	padding: 0.45rem 0.9rem;
	cursor: grab;
	font: inherit;
}

.kids-sort__item.is-selected { border-color: var(--color-blue, #1877e3); box-shadow: 0 0 0 3px rgba(24, 119, 227, 0.2); }
.kids-sort__item.is-placed { cursor: default; background: var(--kids-mint, #b8f2e6); border-color: #5bc49f; }
.kids-sort__item.is-missed { background: #ffe3ea; border-color: #e0607e; }
.kids-sort__item.is-wrong { animation: kids-wobble 0.5s ease; }
.kids-sort__buckets { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 0.8rem; }

.kids-sort__bucket {
	border: 2px solid #dfe5ea;
	border-radius: 16px;
	padding: 0.6rem;
	min-height: 6rem;
	background: #f7fafc;
	cursor: pointer;
}

.kids-sort__bucket.is-over { border-color: var(--color-blue, #1877e3); background: #eef6ff; }
.kids-sort__name { display: block; font-weight: 700; margin-bottom: 0.4rem; }
.kids-sort__drop { display: flex; flex-wrap: wrap; gap: 0.4rem; min-height: 2.6rem; }

/* Order */
.kids-order { list-style: none; padding: 0; margin: 0 0 0.6rem; counter-reset: step; display: grid; gap: 0.4rem; }

.kids-order__item {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	background: #fff;
	border: 2px solid #dfe5ea;
	border-radius: 12px;
	padding: 0.5rem 0.7rem;
}

.kids-order__item::before {
	counter-increment: step;
	content: counter(step);
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--kids-yellow, #ffd166);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	flex: none;
}

.kids-order__item > span:first-of-type { flex: 1; }
.kids-order__btns { display: flex; gap: 0.25rem; }
.kids-order__btns button { width: 34px; height: 34px; border-radius: 50%; border: 2px solid #dfe5ea; background: #fff; cursor: pointer; }
.kids-order__item.is-right { border-color: #5bc49f; background: var(--kids-mint, #b8f2e6); }
.kids-order__item.is-wrong { border-color: #e0607e; }

/* Slider */
.kids-slider { display: flex; align-items: center; gap: 0.8rem; flex-wrap: wrap; }
.kids-slider input[type=range] { flex: 1 1 200px; accent-color: var(--color-primary, #a21559); height: 2.2rem; }
.kids-slider__value { font-weight: 800; font-size: 1.3rem; min-width: 4.5rem; }
.kids-q--slider.is-right .kids-slider__value { color: #1a9b6c; }

/* Label the picture, spot the mistakes */
.kids-label__chips { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.6rem; }
.kids-label__chip { border: 2px solid #dfe5ea; border-radius: 999px; background: #fff; padding: 0.4rem 0.8rem; cursor: pointer; font: inherit; }
.kids-label__chip.is-selected { border-color: var(--color-blue, #1877e3); box-shadow: 0 0 0 3px rgba(24, 119, 227, 0.2); }
.kids-label__chip.is-matched { opacity: 0.5; }
.kids-label__stage, .kids-spot__stage { position: relative; display: inline-block; max-width: 100%; }
.kids-label__stage img, .kids-spot__stage img { display: block; max-width: 100%; border-radius: 14px; }

.kids-label__spot {
	position: absolute;
	transform: translate(-50%, -50%);
	min-width: 34px;
	height: 34px;
	padding: 0 0.5rem;
	border-radius: 999px;
	border: 2px solid #fff;
	background: var(--color-primary, #a21559);
	color: #fff;
	font-weight: 800;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.kids-label__spot.is-matched { background: #1a9b6c; }
.kids-label__spot.is-wrong { animation: kids-wobble 0.5s ease; }
.kids-spot__hot { position: absolute; transform: translate(-50%, -50%); border-radius: 50%; border: 0; background: transparent; cursor: pointer; }
.kids-spot__hot.is-found { background: rgba(255, 209, 102, 0.45); border: 3px solid var(--kids-yellow, #ffd166); }

/* Jigsaw, memory */
.kids-jigsaw { display: grid; grid-template-columns: repeat(var(--n, 3), 1fr); gap: 3px; max-width: 420px; aspect-ratio: 1; }
.kids-jigsaw__tile { border: 0; padding: 0; cursor: pointer; background-color: #ddd; border-radius: 6px; }
.kids-jigsaw__tile.is-selected { outline: 4px solid var(--color-blue, #1877e3); z-index: 1; }
.kids-jigsaw.is-solved { gap: 0; }
.kids-jigsaw.is-solved .kids-jigsaw__tile { border-radius: 0; }
.kids-memory { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 0.5rem; }

.kids-memory__card {
	min-height: 80px;
	border: 2px solid #dfe5ea;
	border-radius: 12px;
	background: var(--kids-blue, #aed9ff);
	cursor: pointer;
	font: inherit;
	padding: 0.5rem;
}

.kids-memory__back { font-size: 2rem; font-weight: 800; }
.kids-memory__front { display: none; }
.kids-memory__card.is-open, .kids-memory__card.is-matched { background: #fff; }
.kids-memory__card.is-open .kids-memory__back, .kids-memory__card.is-matched .kids-memory__back { display: none; }
.kids-memory__card.is-open .kids-memory__front, .kids-memory__card.is-matched .kids-memory__front { display: block; }
.kids-memory__card.is-matched { border-color: #5bc49f; background: var(--kids-mint, #b8f2e6); }

/* Exams: one try per question */
.kids-quiz--exam { border: 3px solid var(--kids-pink, #ffb7d5); }
.kids-q.is-missed legend { color: #b3324f; }
.kids-q.is-missed .kids-q__opt.is-right { outline: 3px solid #5bc49f; }
.kids-quiz__hint { display: block; margin: 0.4rem 0; }
.kids-quiz__again { margin-top: 0.4rem; }

@media (max-width: 600px) {
	.kids-match { grid-template-columns: 1fr; }
	.kids-q__opt--pic { width: 45%; }
	.kids-q__opt--pic img { width: 100%; height: auto; aspect-ratio: 1; }
}

@media (prefers-reduced-motion: reduce) {
	.kids-match button.is-wrong,
	.kids-sort__item.is-wrong,
	.kids-label__spot.is-wrong { animation: none !important; }
}

@media print {
	.kids-listen-q,
	.kids-tools__listen,
	.kids-levels,
	.kids-stickers { display: none !important; }
}
