.lrm-eng13 {
	--eng13-navy: #102f55;
	--eng13-blue: #1769aa;
	--eng13-sky: #eaf6ff;
	--eng13-coral: #ed6b5f;
	--eng13-gold: #f2b84b;
	--eng13-green: #2f9976;
	--eng13-purple: #7857a8;
	--eng13-ink: #17263a;
	--eng13-muted: #627189;
	--eng13-line: #d9e3ee;
	--eng13-paper: #ffffff;
	width: 100%;
	max-width: 1120px;
	margin: 0 auto;
	color: var(--eng13-ink);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", "Noto Sans SC", sans-serif;
	font-size: 17px;
	line-height: 1.65;
}

.lrm-eng13,
.lrm-eng13 * {
	box-sizing: border-box;
}

.lrm-eng13 h1,
.lrm-eng13 h2,
.lrm-eng13 h3,
.lrm-eng13 p {
	margin-top: 0;
}

.lrm-eng13 h1,
.lrm-eng13 h2,
.lrm-eng13 h3 {
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", "Noto Sans SC", sans-serif;
	line-height: 1.25;
}

.lrm-eng13 button,
.lrm-eng13 a {
	font: inherit;
}

.lrm-eng13 button {
	touch-action: manipulation;
}

.lrm-eng13 .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.lrm-eng13-hero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(250px, 0.65fr);
	gap: 2rem;
	align-items: center;
	min-height: 360px;
	padding: clamp(2rem, 5vw, 4rem);
	overflow: hidden;
	color: #fff;
	background:
		radial-gradient(circle at 8% 10%, rgba(255, 255, 255, 0.16) 0 4px, transparent 5px),
		radial-gradient(circle at 84% 82%, rgba(255, 255, 255, 0.12) 0 6px, transparent 7px),
		linear-gradient(135deg, #102f55 0%, #14578d 56%, #1b78ad 100%);
	border-radius: 24px;
	box-shadow: 0 18px 45px rgba(13, 43, 77, 0.24);
}

.lrm-eng13-hero::after {
	content: "";
	position: absolute;
	right: -65px;
	bottom: -100px;
	width: 330px;
	height: 330px;
	background: rgba(255, 255, 255, 0.07);
	border: 2px solid rgba(255, 255, 255, 0.16);
	border-radius: 50%;
}

.lrm-eng13-hero-copy,
.lrm-eng13-hero-art {
	position: relative;
	z-index: 1;
}

.lrm-eng13-eyebrow {
	margin-bottom: 1rem;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	opacity: 0.9;
}

.lrm-eng13-eyebrow span {
	display: block;
	margin-top: 0.25rem;
	font-size: 0.78em;
	letter-spacing: 0.06em;
	opacity: 0.8;
}

.lrm-eng13-eyebrow strong {
	display: block;
	font-size: 1.12em;
	letter-spacing: 0.03em;
	text-transform: none;
}

.lrm-eng13-hero h1 {
	margin-bottom: 1rem;
	color: #fff;
	font-weight: 900;
	letter-spacing: -0.04em;
}

.lrm-eng13-hero-title-zh {
	display: block;
	color: #ffe29a;
	font-size: clamp(2.7rem, 6.5vw, 5rem);
	letter-spacing: 0;
}

.lrm-eng13-hero h1 .lrm-eng13-hero-title-en {
	display: block;
	margin-top: 0.6rem;
	color: #fff;
	font-size: clamp(1.6rem, 3.6vw, 2.8rem);
	font-weight: 800;
	letter-spacing: 0;
}

.lrm-eng13-hero p {
	display: grid;
	gap: 0.25rem;
	max-width: 690px;
	margin-bottom: 0;
	font-size: clamp(1rem, 2vw, 1.2rem);
}

.lrm-eng13-hero p strong[lang="zh-Hans"] {
	color: #dff2ff;
	font-size: 1.12em;
}

.lrm-eng13-hero p span[lang="en"] {
	font-size: 0.9em;
	opacity: 0.86;
}

.lrm-eng13-hero-art {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.6rem;
	align-items: center;
	justify-items: center;
	padding: 1.25rem;
}

.lrm-eng13-hero-art > span {
	display: grid;
	place-items: center;
	width: 72px;
	height: 82px;
	color: var(--eng13-navy);
	background: #fff;
	border: 4px solid rgba(255, 255, 255, 0.45);
	border-radius: 18px;
	box-shadow: 0 10px 24px rgba(5, 32, 62, 0.25);
	font-size: 2.4rem;
	font-weight: 900;
	transform: rotate(-5deg);
}

.lrm-eng13-hero-art > span:nth-child(2) {
	color: #9b352e;
	background: #ffeae3;
	transform: translateY(15px) rotate(4deg);
}

.lrm-eng13-hero-art > span:nth-child(3) {
	color: #6b4a00;
	background: #fff0b8;
	transform: rotate(-2deg);
}

.lrm-eng13-hero-art > div {
	grid-column: 1 / -1;
	width: 100%;
	margin-top: 1rem;
	padding: 0.8rem 1rem;
	color: var(--eng13-navy);
	background: rgba(255, 255, 255, 0.96);
	border-radius: 15px;
	box-shadow: 0 10px 24px rgba(5, 32, 62, 0.22);
	text-align: center;
}

.lrm-eng13-hero-art > div strong {
	color: var(--eng13-coral);
	font-size: 1.35rem;
}

.lrm-eng13-section {
	display: grid;
	gap: 1.35rem;
	margin-top: 2.35rem;
	padding: clamp(1.25rem, 4vw, 2.35rem);
	background: var(--eng13-paper);
	border: 1px solid var(--eng13-line);
	border-radius: 20px;
	box-shadow: 0 9px 28px rgba(16, 47, 85, 0.08);
}

.lrm-eng13-section-heading {
	display: grid;
	gap: 0.45rem;
}

.lrm-eng13-section-heading > * {
	margin-bottom: 0;
}

.lrm-eng13-kicker {
	display: inline-flex;
	flex-wrap: wrap;
	width: fit-content;
	gap: 0.45rem;
	align-items: center;
	padding: 0.32rem 0.72rem;
	color: var(--eng13-blue);
	background: var(--eng13-sky);
	border-radius: 999px;
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.07em;
}

.lrm-eng13-kicker b {
	color: var(--eng13-navy);
	font-size: 1.12em;
	font-weight: 900;
	letter-spacing: 0;
}

.lrm-eng13-kicker small {
	font-size: 0.82em;
	font-weight: 800;
	letter-spacing: 0.07em;
	opacity: 0.82;
}

.lrm-eng13-section h2 {
	color: var(--eng13-navy);
	font-size: clamp(1.55rem, 3vw, 2.2rem);
}

.lrm-eng13-section h2 span[lang="zh-Hans"] {
	display: block;
	color: var(--eng13-navy);
	font-size: 1.08em;
	font-weight: 900;
}

.lrm-eng13-section h2 small[lang="en"] {
	display: block;
	margin-top: 0.3rem;
	color: var(--eng13-blue);
	font-size: 0.58em;
	font-weight: 750;
}

.lrm-eng13-section-heading p {
	display: grid;
	gap: 0.15rem;
	color: var(--eng13-muted);
}

.lrm-eng13-section-heading p span[lang="zh-Hans"] {
	color: var(--eng13-ink);
}

.lrm-eng13-section-heading p strong[lang="zh-Hans"] {
	color: var(--eng13-ink);
	font-size: 1.05em;
}

.lrm-eng13-section-heading p span[lang="en"] {
	font-size: 0.9em;
}

.lrm-eng13-goals {
	background: linear-gradient(145deg, #fff 0%, #f3faff 100%);
}

.lrm-eng13-goal-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.9rem;
}

.lrm-eng13-goal-grid > div {
	display: grid;
	gap: 0.25rem;
	align-content: start;
	min-height: 150px;
	padding: 1rem;
	background: #fff;
	border: 2px solid #dceaf5;
	border-radius: 16px;
}

.lrm-eng13-goal-grid > div:nth-child(2) { border-color: #ffd3cb; }
.lrm-eng13-goal-grid > div:nth-child(3) { border-color: #f3d98a; }
.lrm-eng13-goal-grid > div:nth-child(4) { border-color: #bfe5d6; }

.lrm-eng13-goal-grid span[aria-hidden="true"] {
	font-size: 2rem;
}

.lrm-eng13-goal-grid strong {
	color: var(--eng13-navy);
	font-size: 1.13rem;
}

.lrm-eng13-goal-grid small {
	color: var(--eng13-muted);
	font-size: 0.82rem;
}

.lrm-eng13-review {
	background: linear-gradient(145deg, #fffdf4 0%, #f5fbff 100%);
	border: 2px solid #ecd687;
}

.lrm-eng13-alphabet-card {
	display: grid;
	gap: 1rem;
	padding: 1.2rem;
	background: #fff;
	border: 1px solid var(--eng13-line);
	border-radius: 16px;
}

.lrm-eng13-alphabet-line {
	display: grid;
	gap: 0.22rem;
}

.lrm-eng13-alphabet-line > strong {
	color: var(--eng13-navy);
	font-size: 1.2rem;
}

.lrm-eng13-alphabet-line > small {
	color: var(--eng13-muted);
	font-size: 0.8rem;
}

.lrm-eng13-alphabet-line > div {
	padding: 0.8rem;
	color: var(--eng13-blue);
	background: #eff8ff;
	border-radius: 10px;
	font-size: clamp(1.05rem, 2.2vw, 1.55rem);
	font-weight: 850;
	letter-spacing: 0.08em;
	line-height: 1.8;
	word-spacing: 0.16em;
}

.lrm-eng13-alphabet-audio {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
}

.lrm-eng13-alphabet-summary > .lrm-eng13-alphabet-audio,
.lrm-eng13-alphabet-summary > .lrm-eng13-accent-row {
	grid-column: 1 / -1;
}

.lrm-eng13-alphabet-audio .lrm-eng13-sound {
	display: grid;
	grid-template-columns: auto 1fr auto;
	grid-template-rows: auto auto;
	text-align: left;
}

.lrm-eng13-alphabet-audio .lrm-eng13-accent {
	grid-row: 1 / 3;
}

.lrm-eng13-alphabet-audio .lrm-eng13-sound small {
	font-size: 0.72rem;
	font-weight: 650;
	opacity: 0.78;
}

.lrm-eng13-name-letter-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.lrm-eng13-name-letter-grid > div {
	display: grid;
	gap: 0.22rem;
	padding: 1rem;
	background: #fff;
	border: 2px solid #c9e2f3;
	border-radius: 14px;
}

.lrm-eng13-name-letter-grid strong {
	color: var(--eng13-navy);
	font-size: 1.08rem;
}

.lrm-eng13-name-letter-grid small {
	color: var(--eng13-muted);
	font-size: 0.78rem;
}

.lrm-eng13-name-letter-grid span {
	color: var(--eng13-coral);
	font-size: 1.35rem;
	font-weight: 900;
	letter-spacing: 0.16em;
}

.lrm-eng13-pron-card {
	display: grid;
	grid-template-columns: minmax(180px, 0.85fr) minmax(330px, 1.15fr);
	gap: 1rem;
	align-items: center;
	padding: 1rem;
	background: #fff;
	border: 1px solid var(--eng13-line);
	border-radius: 15px;
}

.lrm-eng13-featured-pron {
	padding: 1.25rem;
	background: linear-gradient(135deg, #f6fbff, #fffaf0);
	border: 2px solid #cce4f5;
}

.lrm-eng13-pron-copy {
	display: grid;
	gap: 0.22rem;
}

.lrm-eng13-english {
	color: var(--eng13-muted);
	font-size: 0.96rem;
	font-weight: 720;
}

.lrm-eng13-chinese {
	color: var(--eng13-navy);
	font-size: 1.35rem;
	font-weight: 900;
	line-height: 1.35;
}

.lrm-eng13-accent-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	justify-content: flex-end;
}

.lrm-eng13-sound {
	display: inline-flex;
	flex: 1 1 150px;
	gap: 0.4rem;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0.55rem 0.72rem;
	color: var(--eng13-navy);
	background: #f8fbfe;
	border: 1px solid #b9ccdc;
	border-radius: 10px;
	font-weight: 750;
	line-height: 1.25;
	cursor: pointer;
	transition: transform 150ms ease, background 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
}

.lrm-eng13-sound:hover,
.lrm-eng13-sound:focus-visible {
	background: #eaf6ff;
	border-color: var(--eng13-blue);
	box-shadow: 0 4px 12px rgba(23, 105, 170, 0.14);
}

.lrm-eng13-sound:active {
	transform: translateY(1px);
}

.lrm-eng13-sound.is-playing {
	color: #fff;
	background: var(--eng13-blue);
	border-color: var(--eng13-blue);
}

.lrm-eng13-sound.is-unavailable {
	color: #7b3a35;
	background: #fff0ed;
	border-color: #edb7b0;
}

.lrm-eng13-accent {
	display: grid;
	place-items: center;
	width: 1.6rem;
	height: 1.6rem;
	background: transparent;
	font-size: 1.25rem;
	font-weight: 900;
}

.lrm-eng13-sound[data-lang="en-US"] {
	border-color: #e0a69e;
}

.lrm-eng13-voice-label {
	display: grid;
	gap: 0.02rem;
	text-align: left;
}

.lrm-eng13-voice-label strong {
	font-size: 0.84rem;
	white-space: nowrap;
}

.lrm-eng13-voice-label small {
	font-size: 0.68rem;
	font-weight: 650;
	opacity: 0.72;
}

.lrm-eng13-ipa {
	font-family: "Arial Unicode MS", Arial, sans-serif;
	font-size: 0.88rem;
	font-weight: 600;
}

.lrm-eng13-global {
	color: #654600;
	background: #fff8df;
	border-color: #e8cf78;
}

.lrm-eng13-vocab-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.lrm-eng13-vocab-card {
	display: grid;
	gap: 0.75rem;
	padding: 0;
	overflow: hidden;
	background: #fafdff;
	border: 1px solid var(--eng13-line);
	border-radius: 16px;
}

.lrm-eng13-vocab-card:nth-child(4n+2) { background: #fff9f6; }
.lrm-eng13-vocab-card:nth-child(4n+3) { background: #fffdf3; }
.lrm-eng13-vocab-card:nth-child(4n+4) { background: #f5fbf8; }

.lrm-eng13-vocab-card .lrm-eng13-pron-card {
	grid-template-columns: 1fr;
	gap: 0.65rem;
	background: transparent;
	border: 0;
	border-radius: 0;
}

.lrm-eng13-vocab-card .lrm-eng13-accent-row {
	justify-content: flex-start;
}

.lrm-eng13-vocab-card > p {
	margin: 0;
	padding: 0 1rem 1rem;
	color: var(--eng13-muted);
	font-size: 0.92rem;
}

.lrm-eng13-pattern-note {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.lrm-eng13-pattern-note > div {
	display: grid;
	gap: 0.35rem;
	padding: 1rem;
	background: #edf7ff;
	border-left: 5px solid var(--eng13-blue);
	border-radius: 10px;
}

.lrm-eng13-pattern-note > div:nth-child(2) {
	background: #fff3ef;
	border-left-color: var(--eng13-coral);
}

.lrm-eng13-pattern-note strong {
	font-size: 1.08rem;
}

.lrm-eng13-phrase-list,
.lrm-eng13-dialogue {
	display: grid;
	gap: 0.85rem;
}

.lrm-eng13-dialogue-line {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 0.8rem;
	align-items: start;
}

.lrm-eng13-speaker {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	color: #fff;
	background: var(--eng13-navy);
	border-radius: 50%;
	font-weight: 900;
}

.lrm-eng13-dialogue-line:nth-child(even) .lrm-eng13-speaker {
	background: var(--eng13-coral);
}

.lrm-eng13-writing-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.lrm-eng13-writing-card {
	--writer-colour: var(--eng13-coral);
	display: grid;
	gap: 0.85rem;
	padding: 1rem;
	overflow: hidden;
	background: #fff7f4;
	border: 2px solid #f4b8b0;
	border-radius: 18px;
}

.lrm-eng13-writing-card.is-blue { --writer-colour: var(--eng13-blue); background: #f1f9ff; border-color: #afd6f2; }
.lrm-eng13-writing-card.is-gold { --writer-colour: #b47700; background: #fff9e7; border-color: #ecd387; }
.lrm-eng13-writing-card.is-green { --writer-colour: var(--eng13-green); background: #effaf5; border-color: #a8dbc7; }
.lrm-eng13-writing-card.is-purple { --writer-colour: var(--eng13-purple); background: #f7f2fc; border-color: #cbb7df; }

.lrm-eng13-writing-card h3 {
	margin-bottom: 0;
	color: var(--writer-colour);
	font-size: 1.35rem;
}

.lrm-eng13-writing-card h3 > span[lang="zh-Hans"] {
	display: block;
	font-size: 1.12em;
	font-weight: 900;
}

.lrm-eng13-writing-card h3 small {
	display: block;
	color: var(--eng13-muted);
	font-size: 0.68em;
}

.lrm-eng13-writing-card canvas {
	display: block;
	width: 100%;
	height: 150px;
	background: rgba(255, 255, 255, 0.84);
	border: 2px solid color-mix(in srgb, var(--writer-colour) 35%, #d9e3ee);
	border-radius: 13px;
	cursor: crosshair;
	touch-action: none;
}

.lrm-eng13-writing-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
}

.lrm-eng13-writing-actions button,
.lrm-eng13-game-title > button,
.lrm-eng13-listen-play {
	min-height: 42px;
	padding: 0.55rem 0.75rem;
	color: var(--eng13-navy);
	background: #fff;
	border: 1px solid #afc0d0;
	border-radius: 9px;
	font-weight: 750;
	cursor: pointer;
}

.lrm-eng13-writing-actions button,
.lrm-eng13-game-title > button {
	display: inline-grid;
	gap: 0.05rem;
	text-align: center;
}

.lrm-eng13-writing-actions button span[lang="en"],
.lrm-eng13-game-title > button span[lang="en"] {
	font-size: 0.74rem;
	font-weight: 650;
	opacity: 0.8;
}

.lrm-eng13-writing-actions button:first-child {
	color: #fff;
	background: var(--writer-colour);
	border-color: var(--writer-colour);
}

.lrm-eng13-writing-actions button:hover,
.lrm-eng13-writing-actions button:focus-visible,
.lrm-eng13-game-title > button:hover,
.lrm-eng13-game-title > button:focus-visible {
	border-color: var(--eng13-blue);
	box-shadow: 0 3px 10px rgba(23, 105, 170, 0.14);
}

.lrm-eng13-writing-status,
.lrm-eng13-game-status {
	min-height: 1.5em;
	margin-bottom: 0;
	color: var(--eng13-muted);
	font-size: 0.9rem;
}

.lrm-eng13-writing-status strong,
.lrm-eng13-game-status strong {
	color: var(--eng13-ink);
	font-size: 1.05em;
}

.lrm-eng13-writing-status span[lang="en"],
.lrm-eng13-game-status span[lang="en"] {
	font-size: 0.86em;
	opacity: 0.82;
}

.lrm-eng13-games {
	background: linear-gradient(160deg, #f5fbff 0%, #fff 55%, #fff8ee 100%);
}

.lrm-eng13-game-card {
	display: grid;
	gap: 1rem;
	padding: 1.2rem;
	background: #fff;
	border: 1px solid var(--eng13-line);
	border-radius: 17px;
}

.lrm-eng13-game-card > p {
	display: grid;
	gap: 0.1rem;
	margin-bottom: 0;
	color: var(--eng13-muted);
}

.lrm-eng13-game-card > p strong[lang="zh-Hans"] {
	color: var(--eng13-ink);
	font-size: 1.04em;
}

.lrm-eng13-game-card > p span[lang="en"] {
	font-size: 0.88em;
}

.lrm-eng13-game-title {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
	align-items: center;
	justify-content: space-between;
}

.lrm-eng13-game-title > div {
	display: flex;
	gap: 0.65rem;
	align-items: center;
}

.lrm-eng13-game-title h3 {
	margin-bottom: 0;
	color: var(--eng13-navy);
}

.lrm-eng13-game-title h3 small {
	display: block;
	color: var(--eng13-muted);
	font-size: 0.7em;
}

.lrm-eng13-game-number {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	color: #fff;
	background: var(--eng13-blue);
	border-radius: 13px;
	font-weight: 900;
}

.lrm-eng13-game-card:nth-of-type(2) .lrm-eng13-game-number { background: var(--eng13-coral); }
.lrm-eng13-game-card:nth-of-type(3) .lrm-eng13-game-number { background: var(--eng13-green); }

.lrm-eng13-flashcard-board {
	display: grid;
	gap: 1rem;
	justify-items: center;
}

.lrm-eng13-flashcard-stage {
	position: relative;
	width: min(100%, 760px);
	min-height: 330px;
	padding: 0;
	background: transparent;
	border: 0;
	perspective: 1100px;
	cursor: pointer;
}

.lrm-eng13-flashcard-inner {
	position: absolute;
	inset: 0;
	transform-style: preserve-3d;
	transition: transform 480ms ease;
}

.lrm-eng13-flashcard-stage.is-flipped .lrm-eng13-flashcard-inner {
	transform: rotateY(180deg);
}

.lrm-eng13-flashcard-face {
	position: absolute;
	inset: 0;
	display: grid;
	gap: 0.55rem;
	place-content: center;
	padding: clamp(1.3rem, 4vw, 2.5rem);
	backface-visibility: hidden;
	border: 3px solid #9bc9e8;
	border-radius: 22px;
	box-shadow: 0 12px 28px rgba(16, 47, 85, 0.14);
	text-align: center;
}

.lrm-eng13-flashcard-front {
	color: #fff;
	background: linear-gradient(145deg, var(--eng13-blue), var(--eng13-navy));
}

.lrm-eng13-flashcard-back {
	color: var(--eng13-navy);
	background: linear-gradient(145deg, #fffef8, #edf8ff);
	transform: rotateY(180deg);
}

.lrm-eng13-flashcard-zh {
	font-size: clamp(2.6rem, 8vw, 5.4rem);
	font-weight: 950;
	line-height: 1.2;
}

.lrm-eng13-flashcard-en {
	font-size: clamp(2rem, 6vw, 4rem);
	font-weight: 950;
	line-height: 1.15;
}

.lrm-eng13-flashcard-back .lrm-eng13-flashcard-zh {
	color: var(--eng13-muted);
	font-size: 1.35rem;
}

.lrm-eng13-flashcard-hint {
	font-size: 0.9rem;
	font-weight: 700;
	opacity: 0.82;
}

.lrm-eng13-flashcard-hint span {
	display: block;
	font-size: 0.8em;
	font-weight: 600;
}

.lrm-eng13-flashcard-controls {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	justify-content: center;
	width: min(100%, 760px);
}

.lrm-eng13-flashcard-controls button {
	display: inline-grid;
	gap: 0.05rem;
	min-height: 48px;
	padding: 0.6rem 0.9rem;
	color: var(--eng13-navy);
	background: #fff;
	border: 1px solid #a9bfd1;
	border-radius: 10px;
	font-weight: 800;
	cursor: pointer;
}

.lrm-eng13-flashcard-controls button[data-flash-action="flip"] {
	color: #fff;
	background: var(--eng13-blue);
	border-color: var(--eng13-blue);
}

.lrm-eng13-flashcard-controls button span[lang="en"] {
	font-size: 0.72rem;
	font-weight: 650;
	opacity: 0.78;
}

.lrm-eng13-flashcard-progress {
	color: var(--eng13-muted);
	font-weight: 750;
}

.lrm-eng13-match-board {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.lrm-eng13-match-column {
	display: grid;
	gap: 0.65rem;
	align-content: start;
}

.lrm-eng13-match-option,
.lrm-eng13-listen-option {
	display: grid;
	gap: 0.15rem;
	width: 100%;
	min-height: 64px;
	padding: 0.75rem;
	color: var(--eng13-navy);
	background: #fff;
	border: 2px solid #c8d7e4;
	border-radius: 11px;
	font-weight: 800;
	text-align: left;
	cursor: pointer;
	transition: background 150ms ease, border-color 150ms ease, transform 150ms ease;
}

.lrm-eng13-match-option small,
.lrm-eng13-listen-option small {
	color: var(--eng13-muted);
	font-size: 0.78rem;
	font-weight: 600;
}

.lrm-eng13-match-option[data-side="zh"] span[lang="zh-Hans"],
.lrm-eng13-listen-option span[lang="zh-Hans"] {
	font-size: 1.28rem;
	font-weight: 900;
}

.lrm-eng13-match-option[data-side="en"] span[lang="en"] {
	font-size: 1rem;
	font-weight: 780;
}

.lrm-eng13-match-option:hover,
.lrm-eng13-match-option:focus-visible,
.lrm-eng13-listen-option:hover,
.lrm-eng13-listen-option:focus-visible {
	background: #f1f9ff;
	border-color: var(--eng13-blue);
}

.lrm-eng13-match-option.is-selected {
	background: #e6f5ff;
	border-color: var(--eng13-blue);
	transform: translateY(-1px);
}

.lrm-eng13-match-option.is-matched,
.lrm-eng13-listen-option.is-correct {
	color: #1d674f;
	background: #e8f8f1;
	border-color: var(--eng13-green);
}

.lrm-eng13-match-option.is-wrong,
.lrm-eng13-listen-option.is-wrong {
	color: #8b3630;
	background: #fff0ed;
	border-color: var(--eng13-coral);
}

.lrm-eng13-listen-board {
	display: grid;
	gap: 1rem;
}

.lrm-eng13-listen-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	align-items: center;
	padding: 0.9rem;
	background: #edf7ff;
	border-radius: 12px;
}

.lrm-eng13-listen-toolbar strong small {
	display: block;
	font-size: 0.72rem;
	font-weight: 650;
	opacity: 0.75;
}

.lrm-eng13-listen-toolbar > strong {
	flex: 1 0 100%;
}

.lrm-eng13-listen-toolbar .lrm-eng13-listen-play {
	flex: 1 1 180px;
}

.lrm-eng13-listen-play {
	color: #fff;
	background: var(--eng13-blue);
	border-color: var(--eng13-blue);
}

.lrm-eng13-listen-options {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.7rem;
}

.lrm-eng13-final {
	background: linear-gradient(135deg, #102f55 0%, #174f7b 100%);
	border-color: #102f55;
	color: #fff;
}

.lrm-eng13-final .lrm-eng13-kicker {
	color: #fff;
	background: rgba(255, 255, 255, 0.14);
}

.lrm-eng13-final .lrm-eng13-kicker b,
.lrm-eng13-final h2,
.lrm-eng13-final h2 span[lang="zh-Hans"] {
	color: #fff;
}

.lrm-eng13-final ol {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.7rem 1.5rem;
	margin: 0;
	padding-left: 1.5rem;
}

.lrm-eng13-final li span {
	display: block;
}

.lrm-eng13-final li strong[lang="zh-Hans"] {
	display: block;
	color: #d9efff;
	font-size: 1.05rem;
}

.lrm-eng13-final li span[lang="en"] {
	display: block;
	font-size: 0.84rem;
	opacity: 0.82;
}

.lrm-eng13-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: space-between;
	margin-top: 2rem;
}

.lrm-eng13-nav a {
	display: inline-flex;
	gap: 0.4rem;
	align-items: center;
	min-height: 46px;
	padding: 0.7rem 1rem;
	color: #fff;
	background: var(--eng13-navy);
	border-radius: 10px;
	font-weight: 800;
	text-decoration: none;
}

/* Lesson 1.3 additions: review, usage, shadowing, situations and downloads. */
.lrm-eng13-hide-support .lrm-eng13-support {
	display: none !important;
}

.lrm-eng13-hero-art > span {
	width: 88px;
	height: 76px;
	font-size: 1.35rem;
}

.lrm-eng13-hero-art > span:nth-child(2) {
	font-size: 2rem;
}

.lrm-eng13-alphabet-summary {
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr) auto;
	gap: 0.9rem;
	align-items: center;
	padding: 1rem;
	background: #fff;
	border: 1px solid #c9ddea;
	border-radius: 16px;
}

.lrm-eng13-alphabet-badge {
	display: grid;
	place-items: center;
	min-height: 76px;
	color: #fff;
	background: linear-gradient(145deg, var(--eng13-blue), var(--eng13-navy));
	border-radius: 13px;
	font-size: 1.35rem;
	font-weight: 950;
	letter-spacing: 0.08em;
}

.lrm-eng13-alphabet-summary > div:nth-child(2) {
	display: grid;
	gap: 0.2rem;
}

.lrm-eng13-alphabet-summary strong {
	color: var(--eng13-navy);
	font-size: 1.18rem;
}

.lrm-eng13-alphabet-summary span {
	color: var(--eng13-muted);
	font-size: 0.84rem;
}

.lrm-eng13-alphabet-summary button {
	display: grid;
	gap: 0.05rem;
	min-height: 54px;
	padding: 0.55rem 0.8rem;
	color: var(--eng13-navy);
	background: #edf7ff;
	border: 1px solid #abcbe1;
	border-radius: 10px;
	font-weight: 800;
	cursor: pointer;
}

.lrm-eng13-language-compare {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.9rem;
}

.lrm-eng13-language-compare > article {
	display: grid;
	gap: 0.15rem;
	padding: 1rem;
	background: #eef8ff;
	border-left: 6px solid var(--eng13-blue);
	border-radius: 13px;
}

.lrm-eng13-language-compare > article.is-mandarin {
	background: #fff7f3;
	border-left-color: var(--eng13-coral);
}

.lrm-eng13-language-compare strong {
	color: var(--eng13-navy);
	font-size: 1.08rem;
}

.lrm-eng13-language-compare small {
	color: var(--eng13-muted);
	font-size: 0.76rem;
}

.lrm-eng13-language-compare p {
	margin: 0.45rem 0 0;
	color: var(--eng13-blue);
	font-size: 1.25rem;
	font-weight: 900;
}

.lrm-eng13-language-compare .is-mandarin p {
	color: #b64c43;
}

.lrm-eng13-language-compare article > span {
	font-size: 0.9rem;
}

.lrm-eng13-review-note {
	margin: 0;
	padding: 0.8rem 1rem;
	background: #fff8df;
	border-left: 5px solid var(--eng13-gold);
	border-radius: 11px;
}

.lrm-eng13-people-dialogue {
	display: grid;
	gap: 0.85rem;
	padding: 1rem;
	background: linear-gradient(145deg, #f7fbff, #fffdf8);
	border: 1px solid #cbdde9;
	border-radius: 18px;
}

.lrm-eng13-person-line {
	display: grid;
	grid-template-columns: 132px minmax(0, 1fr);
	gap: 0.8rem;
	align-items: start;
}

.lrm-eng13-person-line.is-danyang {
	margin-left: clamp(0rem, 4vw, 2.5rem);
}

.lrm-eng13-person-label {
	display: grid;
	grid-template-columns: 38px 1fr;
	grid-template-rows: auto auto;
	gap: 0 0.45rem;
	align-items: center;
	padding-top: 0.65rem;
}

.lrm-eng13-person-label > span {
	display: grid;
	grid-row: 1 / 3;
	place-items: center;
	width: 38px;
	height: 38px;
	color: #fff;
	background: var(--eng13-blue);
	border-radius: 50%;
	font-weight: 950;
}

.lrm-eng13-person-line.is-danyang .lrm-eng13-person-label > span {
	background: var(--eng13-coral);
}

.lrm-eng13-person-label strong {
	color: var(--eng13-navy);
	font-size: 0.95rem;
	line-height: 1.15;
	white-space: nowrap;
}

.lrm-eng13-person-label small {
	color: var(--eng13-muted);
	font-size: 0.78rem;
	line-height: 1.15;
}

.lrm-eng13-person-line.is-sunny .lrm-eng13-pron-card {
	border-left: 6px solid var(--eng13-blue);
}

.lrm-eng13-person-line.is-danyang .lrm-eng13-pron-card {
	background: #fff9f6;
	border-left: 6px solid var(--eng13-coral);
}

.lrm-eng13-dialogue-divider {
	display: flex;
	gap: 0.45rem;
	align-items: baseline;
	margin: 0.35rem 0;
	padding: 0.4rem 0.75rem;
	color: var(--eng13-navy);
	background: #eaf6ff;
	border-radius: 999px;
	font-size: 0.82rem;
	font-weight: 900;
}

.lrm-eng13-dialogue-divider small {
	font-size: 0.75em;
	opacity: 0.78;
}

.lrm-eng13-word-section {
	background: linear-gradient(145deg, #f7fbff, #fff);
}

.lrm-eng13-word-grid .lrm-eng13-english {
	color: var(--eng13-blue);
	font-size: 1.18rem;
	font-weight: 900;
}

.lrm-eng13-word-grid .lrm-eng13-chinese {
	font-size: 1.25rem;
}

.lrm-eng13-usage {
	background: linear-gradient(145deg, #f8fcff, #fffaf1);
}

.lrm-eng13-usage-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.lrm-eng13-usage-grid > article {
	padding: 1.15rem;
	background: #f0f8ff;
	border: 1px solid #b9d9ed;
	border-top: 5px solid var(--eng13-blue);
	border-radius: 15px;
}

.lrm-eng13-usage-grid > article.is-coral {
	background: #fff7f4;
	border-color: #f0c0b9;
	border-top-color: var(--eng13-coral);
}

.lrm-eng13-usage-grid > article.is-gold {
	background: #fffbed;
	border-color: #ead48d;
	border-top-color: var(--eng13-gold);
}

.lrm-eng13-usage-grid > article.is-green {
	background: #f2faf7;
	border-color: #b8dfd0;
	border-top-color: var(--eng13-green);
}

.lrm-eng13-usage-grid h3 {
	margin-bottom: 0.55rem;
	color: var(--eng13-navy);
	font-size: 1.2rem;
}

.lrm-eng13-usage-grid p:last-child {
	margin-bottom: 0;
}

.lrm-eng13-time-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.75rem;
}

.lrm-eng13-time-grid > div {
	display: grid;
	gap: 0.2rem;
	place-items: center;
	min-height: 130px;
	padding: 0.9rem;
	background: #fff;
	border: 2px solid #d8e7f1;
	border-radius: 14px;
	text-align: center;
}

.lrm-eng13-time-grid > div:nth-child(2) { background: #fffbe9; border-color: #ead692; }
.lrm-eng13-time-grid > div:nth-child(3) { background: #fff4ee; border-color: #efc2b9; }
.lrm-eng13-time-grid > div:nth-child(4) { color: #fff; background: #183f69; border-color: #183f69; }
.lrm-eng13-time-grid span { font-size: 1.8rem; }
.lrm-eng13-time-grid strong { font-size: 1rem; }
.lrm-eng13-time-grid b { font-size: 0.95rem; }

.lrm-eng13-dialogue-set {
	display: grid;
	gap: 1.1rem;
}

.lrm-eng13-dialogue-set > article {
	display: grid;
	gap: 0.85rem;
	padding: 1rem;
	background: #f9fcff;
	border: 1px solid #cddfeb;
	border-radius: 16px;
}

.lrm-eng13-dialogue-set > article:nth-child(2) {
	background: #fff9f6;
	border-color: #f0c9c3;
}

.lrm-eng13-dialogue-set > article:nth-child(3) {
	background: #f5fbf8;
	border-color: #bfe0d4;
}

.lrm-eng13-dialogue-set h3 {
	display: grid;
	gap: 0.15rem;
	margin-bottom: 0;
	color: var(--eng13-navy);
}

.lrm-eng13-dialogue-set h3 small {
	color: var(--eng13-muted);
	font-size: 0.7em;
}

.lrm-eng13-shadowing {
	background: linear-gradient(145deg, #f4f9ff, #fff);
}

.lrm-eng13-shadow-row {
	display: grid;
	grid-template-columns: minmax(220px, 0.8fr) minmax(360px, 1.2fr);
	gap: 1rem;
	align-items: center;
	padding: 1rem;
	background: #fff;
	border: 1px solid #cbddea;
	border-radius: 14px;
}

.lrm-eng13-shadow-row > div:first-child {
	display: grid;
	gap: 0.2rem;
}

.lrm-eng13-shadow-row > div:first-child strong {
	color: var(--eng13-navy);
	font-size: 1.2rem;
}

.lrm-eng13-shadow-controls {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.55rem;
}

.lrm-eng13-shadow-controls button {
	display: grid;
	gap: 0.05rem;
	min-height: 54px;
	padding: 0.55rem;
	color: #fff;
	background: var(--eng13-blue);
	border: 1px solid var(--eng13-blue);
	border-radius: 10px;
	font-weight: 800;
	cursor: pointer;
}

.lrm-eng13-shadow-controls button[data-rate="slow"] {
	color: var(--eng13-navy);
	background: #fff6dc;
	border-color: #dec36e;
}

.lrm-eng13-shadow-controls button[data-lang="en-US"][data-rate="normal"] {
	background: var(--eng13-coral);
	border-color: var(--eng13-coral);
}

.lrm-eng13-shadow-controls button.is-playing {
	outline: 3px solid rgba(23, 105, 170, 0.25);
	outline-offset: 2px;
}

.lrm-eng13-shadow-controls button:disabled {
	color: #788592;
	background: #edf0f3;
	border-color: #d1d8df;
	cursor: not-allowed;
}

.lrm-eng13-shadow-controls button span {
	font-size: 0.74rem;
}

.lrm-eng13-writing-card.is-coral {
	--writer-colour: var(--eng13-coral);
	background: #fff7f4;
	border-color: #f4b8b0;
}

.lrm-eng13-pdf-practice {
	background: linear-gradient(145deg, #f7fbff, #edf7ff);
}

.lrm-eng13-pdf-card {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 1rem;
	align-items: center;
	padding: 1.15rem;
	background: #fff;
	border: 1px solid #c9ddea;
	border-radius: 16px;
}

.lrm-eng13-pdf-icon {
	display: grid;
	place-items: center;
	width: 70px;
	height: 86px;
	color: #fff;
	background: linear-gradient(145deg, #d94840, #a92d29);
	border-radius: 9px 9px 16px 9px;
	font-weight: 950;
}

.lrm-eng13-pdf-copy strong {
	color: var(--eng13-navy);
	font-size: 1.12rem;
}

.lrm-eng13-pdf-copy p {
	margin: 0.3rem 0 0;
}

.lrm-eng13-pdf-button {
	display: grid;
	gap: 0.1rem;
	min-width: 190px;
	padding: 0.8rem 1rem;
	color: #6c7884;
	background: #e9eef2;
	border: 1px solid #cbd4dc;
	border-radius: 11px;
	text-align: center;
	text-decoration: none;
	cursor: not-allowed;
}

.lrm-eng13-pdf-button.is-ready {
	color: #fff;
	background: var(--eng13-blue);
	border-color: var(--eng13-blue);
	cursor: pointer;
}

.lrm-eng13-situation-board {
	display: grid;
	gap: 1rem;
}

.lrm-eng13-situation-prompt {
	display: grid;
	gap: 0.2rem;
	padding: 1rem;
	color: var(--eng13-navy);
	background: #fff7e5;
	border: 1px solid #e6cc78;
	border-radius: 12px;
}

.lrm-eng13-situation-prompt strong {
	font-size: 1.2rem;
}

.lrm-eng13-situation-options {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.7rem;
}

.lrm-eng13-situation-options button {
	min-height: 62px;
	padding: 0.75rem;
	color: var(--eng13-navy);
	background: #fff;
	border: 2px solid #c8d7e4;
	border-radius: 11px;
	font-weight: 850;
	text-align: left;
	cursor: pointer;
}

.lrm-eng13-situation-options button:hover,
.lrm-eng13-situation-options button:focus-visible {
	background: #f1f9ff;
	border-color: var(--eng13-blue);
}

.lrm-eng13-situation-options button.is-correct {
	color: #1d674f;
	background: #e8f8f1;
	border-color: var(--eng13-green);
}

.lrm-eng13-situation-options button.is-wrong {
	color: #8b3630;
	background: #fff0ed;
	border-color: var(--eng13-coral);
}

.lrm-eng13-knowledge {
	background: linear-gradient(145deg, #fffdf5, #fff);
}

.lrm-eng13-quiz-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.9rem;
}

.lrm-eng13-quiz-grid > article {
	display: grid;
	gap: 0.65rem;
	align-content: start;
	padding: 1rem;
	background: #fff;
	border: 2px solid #dae6ef;
	border-radius: 14px;
}

.lrm-eng13-quiz-grid > article > strong {
	color: var(--eng13-navy);
	font-size: 1.08rem;
}

.lrm-eng13-quiz-grid > article > div {
	display: grid;
	gap: 0.5rem;
	margin-top: auto;
}

.lrm-eng13-quiz-grid button {
	padding: 0.6rem;
	color: var(--eng13-navy);
	background: #f6fafe;
	border: 1px solid #b8ccdc;
	border-radius: 9px;
	font-weight: 800;
	cursor: pointer;
}

.lrm-eng13-quiz-grid button.is-correct {
	color: #1d674f;
	background: #e8f8f1;
	border-color: var(--eng13-green);
}

.lrm-eng13-quiz-grid button.is-wrong {
	color: #8b3630;
	background: #fff0ed;
	border-color: var(--eng13-coral);
}

.lrm-eng13-quiz-grid p {
	min-height: 1.4em;
	margin-bottom: 0;
	font-weight: 800;
}

.lrm-eng13-final .lrm-eng13-pron-card {
	color: var(--eng13-ink);
}

.lrm-eng13-final-dialogue {
	background: rgba(255, 255, 255, 0.09);
	border-color: rgba(255, 255, 255, 0.2);
}

.lrm-eng13-final-dialogue .lrm-eng13-person-label strong,
.lrm-eng13-final-dialogue .lrm-eng13-person-label small {
	color: #fff;
}

.lrm-eng13-nav a {
	display: grid;
	gap: 0.1rem;
	min-width: min(100%, 270px);
	background: #0b2848;
}

.lrm-eng13-nav a:last-child {
	text-align: right;
}

.lrm-eng13-nav a.is-disabled {
	opacity: 0.62;
	cursor: not-allowed;
}

.lrm-eng13-nav-state {
	font-size: 0.72rem;
	font-weight: 650;
	opacity: 0.78;
}

.lrm-eng13-nav-help {
	margin: 0;
	color: #cde8fb;
	font-size: 0.88rem;
}

.lrm-eng13-jiayou {
	margin: 0;
	color: #ffe29a;
	font-size: 2rem;
	font-weight: 950;
	text-align: center;
}

@media (max-width: 900px) {
	.lrm-eng13-hero {
		grid-template-columns: 1fr;
	}

	.lrm-eng13-hero-art {
		max-width: 420px;
	}

	.lrm-eng13-goal-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lrm-eng13-pron-card {
		grid-template-columns: 1fr;
	}

	.lrm-eng13-accent-row {
		justify-content: flex-start;
	}

	.lrm-eng13-time-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lrm-eng13-shadow-row {
		grid-template-columns: 1fr;
	}

	.lrm-eng13-quiz-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 700px) {
	.lrm-eng13 {
		font-size: 16px;
	}

	.lrm-eng13-hero,
	.lrm-eng13-section {
		border-radius: 16px;
	}

	.lrm-eng13-vocab-grid,
	.lrm-eng13-writing-grid,
	.lrm-eng13-pattern-note,
	.lrm-eng13-name-letter-grid,
	.lrm-eng13-final ol {
		grid-template-columns: 1fr;
	}

	.lrm-eng13-match-board,
	.lrm-eng13-listen-options,
	.lrm-eng13-situation-options,
	.lrm-eng13-usage-grid {
		grid-template-columns: 1fr;
	}

	.lrm-eng13-shadow-controls {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lrm-eng13-pdf-card {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.lrm-eng13-pdf-button {
		grid-column: 1 / -1;
	}
}

@media (max-width: 480px) {
	.lrm-eng13-hero {
		padding: 1.4rem;
	}

	.lrm-eng13-hero-art > span {
		width: 58px;
		height: 66px;
		font-size: 1.9rem;
	}

	.lrm-eng13-goal-grid {
		grid-template-columns: 1fr;
	}

	.lrm-eng13-goal-grid > div {
		min-height: 0;
	}

	.lrm-eng13-pron-card,
	.lrm-eng13-featured-pron {
		padding: 0.8rem;
	}

	.lrm-eng13-sound {
		flex: 1 1 auto;
	}

	.lrm-eng13-flashcard-stage {
		min-height: 290px;
	}

	.lrm-eng13-dialogue-line {
		grid-template-columns: 1fr;
	}

	.lrm-eng13-person-line {
		grid-template-columns: 1fr;
	}

	.lrm-eng13-person-line.is-danyang {
		margin-left: 0;
	}

	.lrm-eng13-person-label {
		padding-top: 0;
	}

	.lrm-eng13-speaker {
		width: 34px;
		height: 34px;
	}

	.lrm-eng13-writing-card canvas {
		height: 130px;
	}

	.lrm-eng13-hero-art > span {
		width: 72px;
		height: 62px;
		font-size: 1.05rem;
	}

	.lrm-eng13-time-grid,
	.lrm-eng13-shadow-controls {
		grid-template-columns: 1fr;
	}

	.lrm-eng13-alphabet-summary,
	.lrm-eng13-language-compare {
		grid-template-columns: 1fr;
	}

	.lrm-eng13-pdf-card {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.lrm-eng13-pdf-icon {
		margin: 0 auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lrm-eng13 *,
	.lrm-eng13 *::before,
	.lrm-eng13 *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}
