body {
    font-family: 'Inter', sans-serif;
    background-color: #f8fafc; /* Light gray background */
    color: #334155; /* Dark slate gray text */
}
.gradient-bg {
    /* Existing gradient */
    background: linear-gradient(to right, #0F172A, #1E293B);
    /* New SVG background pattern */
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%2394a3b8' fill-opacity='0.1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM2 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"), linear-gradient(to right, #0F172A, #1E293B);
    background-size: 30px 30px, cover; /* Adjust size of pattern and cover for gradient */
    background-repeat: repeat, no-repeat; /* Repeat pattern, no repeat for gradient */
    background-position: center center, center center; /* Center both */
}
.btn-primary {
    background-color: #3B82F6; /* Blue */
    color: white;
    padding: 0.75rem 1.5rem;
    border-radius: 0.5rem;
    transition: background-color 0.3s ease;
}
.btn-primary:hover {
    background-color: #2563EB; /* Darker blue on hover */
}
.feature-icon {
    color: #3B82F6; /* Blue icon color */
}
.section-heading {
    color: #0F172A; /* Dark blue for headings */
}
/* Simple loading spinner */
.loader {
    border: 4px solid #f3f3f3; /* Light grey */
    border-top: 4px solid #3B82F6; /* Blue */
    border-radius: 50%;
    width: 24px;
    height: 24px;
    animation: spin 1s linear infinite;
    display: inline-block;
    vertical-align: middle;
    margin-left: 0.5rem;
}
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
.puzzle-container {
    background-color: #fff;
    padding: 2rem;
    border-radius: 0.5rem;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    text-align: center;
    margin-top: 2rem;
}
.puzzle-question-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
    color: #374151;
    font-weight: bold;
}
.puzzle-question {
    margin-bottom: 0;
}
.puzzle-difficulty-icon {
    font-size: 0.875rem;
}
.puzzle-answer {
    margin-top: 1rem;
    font-weight: medium;
    color: #6b7280;
}
/* Styling for the code block */
.code-block-container {
    background-color: #1e293b; /* Dark slate */
    color: #f8fafc; /* Light text */
    padding: 1.5rem;
    border-radius: 0.5rem;
    margin-top: 1.5rem;
    text-align: left;
    overflow-x: auto; /* Enable horizontal scrolling for long lines */
}
.code-block-container pre {
    margin: 0;
    white-space: pre-wrap; /* Wrap long lines */
    word-break: break-all; /* Break words if necessary */
}
.code-block-container code {
    font-family: 'Fira Code', 'Cascadia Code', monospace; /* Monospace font for code */
    font-size: 0.875rem; /* Smaller font size for code */
}
.code-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    margin-top: 1rem;
}
.code-actions button, .code-actions a {
    padding: 0.5rem 1rem;
    border-radius: 0.375rem;
    font-size: 0.875rem;
    font-weight: 500;
    transition: background-color 0.2s ease;
}
.copy-btn {
    background-color: #475569; /* Slate 600 */
    color: white;
}
.copy-btn:hover {
    background-color: #64748B; /* Slate 700 */
}
.colab-link {
    background-color: #EA4335; /* Google Red */
    color: white;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}
.colab-link:hover {
    background-color: #D43F2F; /* Darker Google Red */
}
.difficulty-easy { color: #4CAF50; } /* Green */
.difficulty-medium { color: #FFC107; } /* Amber */
.difficulty-hard { color: #F44336; } /* Red */

