/* Touch gesture feedback and card transitions only. */
.fe-learning-app__flashcard-swipeable { transition: opacity .13s ease, transform .2s ease; }
.fe-learning-app__flashcard-swipeable.is-dragging { transition: none; will-change: transform; }
.fe-learning-app__flashcard-swipeable.is-exiting-fade { opacity: 0; transform: scale(.96); }
.fe-learning-app__flashcard-swipeable.is-entering { animation: fe-learning-card-enter .28s ease both; }
@keyframes fe-learning-card-enter { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.fe-learning-app__flashcard-overlay { align-items: center; border-radius: 17px; display: flex; inset: 0; justify-content: center; opacity: 0; pointer-events: none; position: absolute; z-index: 4; }
.fe-learning-app__flashcard-overlay--easy { background: color-mix(in srgb, var(--fe-success) 12%, transparent); border: 3px solid color-mix(in srgb, var(--fe-success) 45%, transparent); }
.fe-learning-app__flashcard-overlay--unknown { background: color-mix(in srgb, var(--fe-error) 12%, transparent); border: 3px solid color-mix(in srgb, var(--fe-error) 45%, transparent); }
.fe-learning-app__flashcard-overlay-label { background: var(--fe-surface-raised); border-radius: var(--fe-radius-control); font-size: .9rem; font-weight: 850; padding: 8px 12px; }
.fe-learning-app__flashcard-swipe-hint { color: var(--fe-learning-muted); display: none; font-size: .75rem; margin-top: 7px; text-align: center; }
@media (hover: none) and (pointer: coarse) {
	.fe-learning-app__flashcard-swipe-hint { display: block; }
	.fe-learning-app__flashcard-instruction-keyboard { display: none; }
	.fe-learning-app__flashcard-instruction-touch { display: inline; }
}
@media (prefers-reduced-motion: reduce) {
	.fe-learning-app__flashcard-swipeable { transition: none; }
	.fe-learning-app__flashcard-swipeable.is-entering { animation: none; }
}

/* Dark mode keeps the learning module on the shared semantic surfaces. */
html[data-fe-theme="dark"] .fe-learning-page {
	background: var(--fe-page-bg);
	--fe-learning-surface: var(--fe-surface);
	--fe-learning-surface-soft: var(--fe-surface-sunken);
	--fe-learning-navy: var(--fe-text-strong);
	--fe-learning-navy-strong: var(--fe-brand-primary-strong);
	--fe-learning-orange-soft: var(--fe-brand-primary-soft);
}

html[data-fe-theme="dark"] .fe-learning-app :is(
	.fe-learning-app__mode-card,
	.fe-learning-app__chip,
	.fe-learning-app__filter-icon,
	.fe-learning-app__option,
	.fe-learning-app__quiz-feedback,
	.fe-learning-app__quiz-feedback-grid p,
	.fe-learning-app__session-menu > div,
	.fe-learning-app__flashcard-rate,
	.fe-learning-app__flashcard-skip,
	.fe-learning-app__flashcard-stack-card,
	.fe-learning-app__flashcard-definition,
	.fe-learning-app__flashcard-media .fe-learning-app__media-zoom,
	.fe-learning-app__flashcard-explanation,
	.fe-learning-app__flashcard-explanation-header,
	.fe-learning-app__flashcard-explanation .fe-learning-app__memory-tip,
	.fe-learning-app__review-filter,
	.fe-learning-app__answer-row,
	.fe-learning-app__section-check-badge
) {
	background: var(--fe-learning-surface) !important;
	border-color: var(--fe-learning-border) !important;
	color: var(--fe-learning-text) !important;
}

html[data-fe-theme="dark"] .fe-learning-app :is(.fe-learning-app__chip:disabled, .fe-learning-app__chip.is-disabled) {
	background: var(--fe-surface-sunken) !important;
	border-color: var(--fe-border) !important;
	color: var(--fe-text-disabled) !important;
}

html[data-fe-theme="dark"] .fe-learning-app :is(
	.fe-learning-app__option:hover,
	.fe-learning-app__option:focus-visible,
	.fe-learning-app__mode-card:hover,
	.fe-learning-app__review-filter:hover,
	.fe-learning-app__flashcard-rate:hover
) {
	background: var(--fe-learning-surface-soft) !important;
	border-color: var(--fe-learning-orange) !important;
}

html[data-fe-theme="dark"] .fe-learning-app :is(
	.fe-learning-app__option.is-selected,
	.fe-learning-app__chip.is-selected,
	.fe-learning-app__chip[aria-pressed="true"]
) {
	background: var(--fe-learning-orange-soft) !important;
	border-color: var(--fe-learning-orange) !important;
	color: var(--fe-text-strong) !important;
}

html[data-fe-theme="dark"] .fe-learning-app__flashcard-flip-face--back {
	background: linear-gradient(145deg, var(--fe-surface-raised), var(--fe-learning-surface)) !important;
}

html[data-fe-theme="dark"] .fe-learning-app :is(
	.fe-learning-app__panel,
	.fe-learning-app__card,
	.fe-learning-app__config-section,
	.fe-learning-app__filter-card,
	.fe-learning-app__question,
	.fe-learning-app__dashboard-help,
	.fe-learning-app__report,
	.fe-learning-app__session-action-bar,
	.fe-learning-app__filters-cta
) {
	background: var(--fe-learning-surface) !important;
	border-color: var(--fe-learning-border) !important;
	color: var(--fe-learning-text) !important;
}

html[data-fe-theme="dark"] .fe-learning-app :is(
	.fe-learning-app__progress,
	.fe-learning-app__progress-stat,
	.fe-learning-app__question-parts,
	.fe-learning-app__meta-chip,
	.fe-learning-app__tag,
	.fe-learning-app--quiz .fe-learning-app__meta-row span,
	.fe-learning-app--quiz .fe-learning-app__memory-tip
) {
	background: var(--fe-learning-surface-soft) !important;
	border-color: var(--fe-learning-border) !important;
	color: var(--fe-learning-text) !important;
}

html[data-fe-theme="dark"] .fe-learning-app :is(
	.fe-learning-app__button--secondary,
	.fe-learning-app__button--ghost,
	.fe-learning-app--quiz .fe-learning-app__session-header .fe-learning-app__button,
	.fe-learning-app--quiz .fe-learning-app__media-zoom
) {
	background: var(--fe-learning-surface) !important;
	border-color: var(--fe-learning-border) !important;
	color: var(--fe-learning-navy) !important;
}

html[data-fe-theme="dark"] .fe-learning-app__filters-cta,
html[data-fe-theme="dark"] .fe-learning-app__session-action-bar {
	box-shadow: 0 -6px 18px rgba(0, 0, 0, .3);
}
