
            body {
                font-family: "Inter", sans-serif;
                background-color: #f3f4f6;
            }
            .tab-btn {
                transition: all 0.3s ease;
            }
            .tab-btn.active {
                background-color: #3b82f6;
                color: white;
                box-shadow:
                    0 4px 6px -1px rgb(0 0 0 / 0.1),
                    0 2px 4px -2px rgb(0 0 0 / 0.1);
            }
            .tab-content {
                display: none;
            }
            .tab-content.active {
                display: block;
            }
            #kmap-div {
                overflow-x: auto;
            }
            #kmap {
                border-collapse: collapse;
                margin: auto;
                background-color: white;
            }
            #kmap .kmap-cell {
                border: 1px solid #ccc;
                width: 50px;
                height: 50px;
                text-align: center;
                vertical-align: middle;
                cursor: pointer;
                position: relative;
            }
            #kmap .kmap-cell-label {
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
            }
            #kmap .var-label,
            #kmap .column-label,
            #kmap .row-label {
                background-color: #e5e7eb;
                font-weight: 500;
            }

            /* Paull-Unger Table Styling */
            #paull-unger-flow-table,
            .implication-table {
                border: 1px solid #d1d5db;
                border-collapse: collapse;
            }
            #paull-unger-flow-table th,
            .implication-table th {
                background-color: #e5e7eb;
                color: #374151;
                font-weight: 600;
            }
            #paull-unger-flow-table th,
            #paull-unger-flow-table td,
            .implication-table th,
            .implication-table td {
                border: 1px solid #d1d5db;
                padding: 8px;
            }
            #paull-unger-flow-table td {
                padding: 0;
            }
            #paull-unger-flow-table input {
                width: 100%;
                height: 100%;
                border: none;
                text-align: center;
                background-color: #f9fafb;
                padding: 8px;
                box-sizing: border-box;
                color: #1f2937;
            }
            #paull-unger-flow-table input:focus {
                outline: 2px solid #3b82f6;
                background-color: white;
                z-index: 10;
                position: relative;
            }
            #paull-unger-flow-table tbody tr:nth-child(even) input {
                background-color: #f3f4f6;
            }
            #paull-unger-flow-table tbody tr:hover input {
                background-color: #e0f2fe;
            }
            .implication-table td {
                min-width: 60px;
                height: 60px;
                text-align: center;
                vertical-align: middle;
                font-family: monospace;
            }

            /* --- NEW CSS for Quine-McCluskey Table --- */
            .qm-table {
                border-collapse: collapse;
                width: 100%;
                margin-top: 1rem;
            }
            .qm-table th, .qm-table td {
                border: 1px solid #d1d5db;
                padding: 8px;
                text-align: center;
            }
            .qm-table th {
                background-color: #e5e7eb;
            }

            .comp-graph-node {
                fill: #3b82f6;
            }
            .comp-graph-text {
                fill: white;
                font-family: 'Inter', sans-serif;
                font-weight: 500;
                text-anchor: middle;
                dominant-baseline: central;
            }
            .comp-graph-edge {
                stroke: #9ca3af;
                stroke-width: 2;
            }
