
        /* --- START: Accordion styles --- */
        .ig-accordion-item {
            /* This class is already on the <details> elements */
        }
        .ig-accordion-summary {
            list-style: none; /* Hide native marker in Firefox */
            display: flex;
            justify-content: space-between;
            align-items: center;
            width: 100%;
            text-align: right;
            padding: 1.25rem;
            font-weight: 600;
            color: #374151; /* text-gray-700 */
            cursor: pointer;
            transition: background-color 0.2s ease-in-out;
            border-top-width: 4px;
            border-radius: 0.5rem 0.5rem 0 0;
        }
        
        .ig-accordion-summary:hover {
            background-color: #f3f4f6; /* hover:bg-gray-100 */
        }

        .ig-accordion-summary::-webkit-details-marker {
            display: none; /* Hide native marker in Chrome/Safari */
        }
        
        .ig-accordion-panel {
            overflow: hidden;
            transition: max-height 0.4s ease-in-out;
            max-height: 0;
        }

        /* The content wrapper inside the panel for padding */
        .ig-panel-content-wrapper {
             padding: 0 1.25rem 1.25rem 1.25rem;
        }

        .ig-accordion-icon {
            transition: transform 0.3s ease-in-out;
        }

        /* When the details element is open, rotate the arrow icon */
        details[open] > .ig-accordion-summary .ig-accordion-icon {
            transform: rotate(180deg);
        }

        details[open] > .ig-accordion-panel {
            /* max-height will be set by JavaScript to enable animation */
        }
        /* --- END: Accordion styles --- */

        /* General styling for the page */
        body {
            background-color: #ffffff; /* Changed from #f0f4f8 */
            /* Font is removed as requested, browser default will be used */
        }

        /* --- Styling for Nested Accordion (if any, good to keep) --- */
        .ig-nested-summary {
            list-style: none;
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 0.75rem 1rem;
            font-weight: 600;
            cursor: pointer;
            color: #4b5563; /* text-gray-600 */
        }
        .ig-nested-summary::-webkit-details-marker { display: none; }

        .ig-nested-panel {
            overflow: hidden;
            transition: max-height 0.3s ease-out;
            max-height: 0;
            padding: 0 1rem 1rem 1rem;
            color: #4b5563; /* text-gray-600 */
            font-size: 0.875rem; /* text-sm */
        }
        details[open] > .ig-nested-summary .ig-accordion-icon {
            transform: rotate(180deg);
        }
        /* --- End of Nested Accordion Styling --- */
        
        .source-link {
            color: #2563eb; /* blue-600 */
            text-decoration: none;
            word-break: break-all;
        }
        .source-link:hover {
            text-decoration: underline;
        }
        
        /* Style for justified text */
        .text-justify {
            text-align: justify;
        }

        /* --- START Tab Styling --- */
        /* Style for active tab button */
        .tab-btn-active {
            @apply bg-blue-600 text-white;
        }
        
        /* Style for tab panel */
        .tab-panel {
            display: none; /* Hidden by default */
            @apply p-6 bg-gray-50 rounded-b-lg rounded-tl-lg border border-gray-200;
        }
        
        /* Style for active tab panel */
        .tab-panel-active {
            display: block; /* Shown when active */
        }
        /* --- End Tab Styling --- */

        /* Custom list style for bullet points */
        .ig-list {
            @apply list-none space-y-3;
        }
        .ig-list li {
            @apply flex items-start;
        }
        .ig-list li::before {
            content: '•';
            @apply text-blue-500 font-bold text-xl inline-block mr-3 ml-2 pt-0.5;
            flex-shrink: 0;
        }
        .ig-list-nested {
             @apply list-none space-y-2 mt-2 mr-5;
        }
        .ig-list-nested li {
             @apply flex items-start;
        }
        .ig-list-nested li::before {
            content: '–'; /* Using an en-dash for sub-bullets */
            @apply text-gray-600 font-bold text-lg inline-block mr-2 ml-2;
            flex-shrink: 0;
        }
        /* --- End List Styling --- */

        /* --- Quiz Styling --- */
        .quiz-option-btn {
            @apply w-full text-right p-3 border border-gray-300 rounded-lg hover:bg-gray-100 transition-colors duration-200 disabled:opacity-70 disabled:hover:bg-transparent;
        }
        .quiz-option-btn.correct {
            @apply bg-green-100 border-green-500 text-green-800 font-semibold;
        }
        .quiz-option-btn.incorrect {
            @apply bg-red-100 border-red-500 text-red-800 font-semibold;
        }
        /* --- End Quiz Styling --- */