/* Your existing styles are perfect, no changes needed here */
        body {
            font-family: 'Inter', sans-serif;
            display: flex;
            flex-direction: column; 
            justify-content: flex-start; 
            align-items: center;
            min-height: 100vh;
            padding: 10px; 
            /* Requirement 3: Background changed to White */
            background-color: #ffffff;
            color: #1f2937; 
            margin: 0;
            box-sizing: border-box; 
        }
        #main-container {
            display: flex;
            justify-content: center;
            align-items: flex-start;
            gap: 40px;
            flex-wrap: wrap;
            width: 100%; 
            max-width: 900px; 
        }
        .solution-section {
            padding: 24px;
            border-radius: 16px;
            box-sizing: border-box; 
        }
        #board-container {
            background-color: #f3f4f6; /* Light gray for board contrast */
            border: 1px solid #e5e7eb;
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
            width: 100%; 
            max-width: 498px; 
        }
        #gui-container {
            width: 380px; /* Slightly wider to accommodate horizontal inputs */
            max-width: 100%; 
            display: flex;
            flex-direction: column;
            gap: 20px;
            /* Changed to white/light theme */
            background-color: #ffffff;
            border: 1px solid #e5e7eb;
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
        }
        h2 {
            text-align: center;
            margin: 0 0 20px 0;
            font-size: 1.5rem; 
            font-weight: 700;
            color: #111827;
        }
        #gui {
            /* Requirement 1: Grid layout for horizontal alignment */
            display: grid;
            grid-template-columns: repeat(3, 1fr); /* 3 equal columns */
            gap: 10px;
            width: 100%;
        }
        #gui > div {
            display: flex;
            flex-direction: column; /* Label on top of select */
            justify-content: flex-start;
            align-items: flex-start;
            gap: 5px;
        }
        #gui label {
            font-weight: 600;
            font-size: 0.875rem;
            color: #374151;
        }
        #gui select {
            width: 100%; /* Full width of the grid column */
            padding: 8px;
            border: 1px solid #d1d5db;
            border-radius: 6px;
            /* Light theme for inputs */
            background-color: #ffffff;
            color: #111827;
            font-size: 0.875rem;
            cursor: pointer;
            transition: border-color 0.2s ease;
        }
        #gui select:focus {
            outline: none;
            border-color: #0ea5e9;
            ring: 2px solid #0ea5e9;
        }
        .controls {
            display: flex;
            flex-direction: column;
            gap: 15px;
            margin-top: 20px;
            width: 100%;
            align-items: center;
        }
        .button-row {
            display: flex;
            /* Requirement 2: Horizontal alignment for buttons */
            flex-direction: row; 
            gap: 12px;
            width: 100%;
        }
        button {
            flex: 1; /* Buttons take equal width */
            padding: 12px 24px;
            font-size: 1rem;
            font-weight: bold;
            cursor: pointer;
            border: none;
            border-radius: 8px;
            color: white;
            transition: background-color 0.3s ease, transform 0.1s ease;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        }
        button:hover:not(:disabled) {
            transform: translateY(-2px);
        }
        button:disabled {
            cursor: not-allowed;
            opacity: 0.6;
        }
        #hint-button {
            background-color: #0ea5e9;
        }
        #hint-button:hover:not(:disabled) {
            background-color: #0284c7;
        }
        #reset-button {
            background-color: #ef4444;
        }
        #reset-button:hover:not(:disabled) {
            background-color: #dc2626;
        }
        #toggle-text-checkbox {
            accent-color: #0ea5e9;
            width: 16px;
            height: 16px;
            cursor: pointer;
        }
        #toggle-text-checkbox + label {
            color: #4b5563;
        }
        #puzzle-board {
            display: block;
            border-radius: 12px;
            background-color: transparent;
            border: none;
            max-width: 100%; 
            height: auto;    
        }
        /* Updated Links for Light Mode Visibility */
        a:link { color: #0ea5e9; text-decoration: none; }
        a:visited { color: #7c3aed; text-decoration: none; }
        a:hover { color: #0284c7; text-decoration: underline; }
        a:active { color: #dc2626; text-decoration: underline; }

        footer {
            width: 100%;
            margin-top: 2.5rem;
            text-align: center;
            color: #6b7280;
            font-size: 0.875rem;
            padding: 10px;
            box-sizing: border-box;
        }