        body {
            font-family: 'Inter', sans-serif;
        }

        .lesson-container {
            max-width: 1000px; 
            margin: 2rem auto;
            padding: 2rem;
            background-color: #f9fafb; /* Tailwind gray-50 */
            border-radius: 12px;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        }

        .lesson-header {
            background-color: #4f46e5; /* Tailwind indigo-600 */
            color: white;
            padding: 1.5rem;
            border-radius: 8px 8px 0 0;
            text-align: center;
        }

        .lesson-header h1 {
            font-size: 1.75rem; /* Tailwind text-xl or text-2xl equivalent */
            font-weight: 600; /* Tailwind font-semibold */
            margin: 0;
        }

        .lesson-section {
            background-color: white;
            padding: 1.5rem;
            margin-bottom: 1.5rem;
            border-radius: 8px;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
        }

        .lesson-section h2 {
            font-size: 1.4rem; /* Slightly larger than text-lg */
            font-weight: 600; /* Tailwind font-semibold */
            color: #374151; /* Tailwind gray-700 */
            margin-bottom: 1rem;
            border-bottom: 2px solid #e5e7eb; /* Tailwind gray-200 */
            padding-bottom: 0.5rem;
        }

        .lesson-section p, 
        .lesson-section ul {
            font-size: 1.1rem; 
            line-height: 1.6;
            color: black; /* Or use a Tailwind gray like text-gray-800 or text-gray-900 */
            margin-bottom: 1rem;
        }

        .lesson-section ul {
            list-style-type: disc;
            padding-left: 1.5rem;
        }

        .lesson-section strong { /* General styling for strong tags within lesson sections */
            color: black; /* Or inherit, or a specific emphasis color */
            font-weight: bold; /* Tailwind font-bold */
        }

        .dialogue-box {
            margin-top: 1rem;
            padding: 1.5rem;
            background-color: #f3e8ff; /* Light purple */
            border-radius: 8px;
            border-left: 5px solid #8b5cf6; /* Tailwind violet-500 */
        }

        .dialogue-box p {
            margin-bottom: 0.75rem;
            color: black; 
        }

        .dialogue-box p .speaker-name { /* Styling for speaker names ONLY */
            color: #7c3aed; /* Tailwind violet-600 */
            font-weight: 700; /* Tailwind font-bold */
        }
        /* strong tags within dialogue-box will inherit from .lesson-section strong */

        .example-box {
            background-color: #eff6ff; /* Tailwind blue-50 */
            border-left: 4px solid #3b82f6; /* Tailwind blue-500 */
            padding: 1rem;
            margin: 1rem 0;
            border-radius: 4px;
        }

        .example-box p {
            color: black; 
            margin-bottom: 0.5rem;
        }
        /* strong tags within example-box will inherit from .lesson-section strong */

        .reading-text {
            background-color: #f0fdf4; /* Tailwind green-50 */
            padding: 1.5rem;
            border-radius: 6px;
            border: 1px solid #bbf7d0; /* Tailwind green-200 */
            margin: 1rem 0;
            color: black; 
            font-size: 1.15rem; 
            line-height: 1.7;
        }

        .reading-text p {
            margin-bottom: 1rem;
        }
        /* strong tags within reading-text will inherit from .lesson-section strong */
        
        .footer {
            text-align: center;
            margin-top: 2rem;
            padding: 1rem;
            font-size: 0.9rem; 
            color: #6b7280; /* Tailwind gray-500 */
        } 

        .button-container {
            text-align: center; /* Consider using flex for better alignment if needed */
        }
            
        .lesson-button { 
            font-size: 20px; 
            font-weight: bold; /* Tailwind font-bold */
            border: none;
            border-radius: 12px;
            padding: 14px 24px;
            cursor: pointer;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
            transition: background-color 0.3s ease;
            margin: 0.5rem; 
        }

        .lesson-select-button {
            background-color: #facc15; /* Tailwind yellow-400 */
            color: #1e293b; /* Tailwind slate-800 */
        }

        .lesson-select-button:hover {
            background-color: #fbbf24; /* Tailwind yellow-500 */
        }

        .lesson-back-button {
            background-color: #38bdf8; /* Tailwind sky-500 */
            color: white;
        }

        .lesson-back-button:hover {
            background-color: #0ea5e9; /* Tailwind sky-600 */
        }

        .fill-in-blank {
            display: inline-block;
            border-bottom: 1px solid #333; /* Dark gray */
            padding: 0 10px;
            min-width: 80px; 
            text-align: center;
            font-style: italic;
            color: #555; /* Medium gray */
        }

        .footer-logo {
            max-height: 40px; 
            margin-bottom: 10px;
            /* mx-auto is a Tailwind class, should be applied in HTML if needed for block elements */
            /* If .footer-logo is an inline element, text-align: center on parent works */
        }
        
        details summary { /* Custom styles for details/summary */
            list-style: none; 
        }

        details summary::-webkit-details-marker { /* Hide default marker in WebKit browsers */
            display: none; 
        }
