.review-empty { font-size: 13px; color: var(--text-muted); padding: 10px 0; }
    .review-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 9999; display: flex; align-items: center; justify-content: center; }
    .review-overlay.hidden { display: none; }
    .review-card { background: var(--surface); border-radius: var(--radius-lg); padding: 32px 28px; max-width: 420px; width: 90%; box-shadow: var(--shadow-md); text-align: center; }
    .review-word { font-size: 32px; font-weight: 700; color: var(--text); margin-bottom: 20px; }
    .review-meaning { font-size: 18px; color: var(--text-secondary); margin-bottom: 20px; }
    .review-answer.hidden { display: none; }
    .review-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
    .review-btn { padding: 12px; border: none; border-radius: var(--radius-sm); font-size: 15px; cursor: pointer; font-weight: 500; transition: opacity var(--transition); }
    .review-btn:hover { opacity: 0.85; }
    .review-forgot { background: var(--color-error-bg); color: var(--color-error); }
    .review-hard { background: var(--color-warning-bg); color: var(--color-warning); }
    .review-good { background: var(--color-success-bg); color: var(--color-success); }
    .review-easy { background: var(--color-primary-light); color: var(--color-primary); }
    .review-progress { font-size: 12px; color: var(--text-muted); margin-bottom: 8px; }
    @media (max-width: 768px) {.review-card { padding: 24px 18px; }.review-word { font-size: 26px; }.review-actions { grid-template-columns: 1fr 1fr; }}
#review-reminder { max-width: 620px; margin: 0 auto; }
.review-reminder-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.review-card { position: relative; max-height: calc(100dvh - 32px); overflow-y: auto; overflow-wrap: anywhere; }
.review-close { position: absolute; right: 10px; top: 10px; width: 36px; height: 36px; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--text-secondary); font-size: 24px; cursor: pointer; }
.review-meaning { white-space: pre-line; }
.review-error { min-height: 1.5em; margin: 12px 0; font-size: 13px; line-height: 1.5; color: var(--color-error); }
.review-btn:disabled, .review-close:disabled { opacity: .55; cursor: wait; }
.review-empty { text-align: center; }
