/* Base styles for the entire page, ensuring responsiveness and a clean look. */
html,
body.antialiased {

            margin: 0;
            padding: 0;

            font-family: 'Inter', sans-serif;
            background-color: #0F0F0F; /* Even darker base */
            color: #E2E8F0; /* Light Gray/Off-White */
            text-rendering: optimizeLegibility;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
}

body.antialiased {
  height: 100%; /* Ensure html and body take full viewport height */
            
            overflow: hidden; /* Prevent body scroll, wrapper handles content */
           
}


/* Overall wrapper for the chat area, providing a structured layout. */
.chat-area-wrapper {
    display: flex !important; /* Use flexbox for horizontal layout of chat and ads. */
    justify-content: center !important; /* Center the main chat container horizontally. */
    align-items: center !important; /* Center the main chat container vertically */
    width: 100% !important;
    min-height: 100vh !important; /* Ensure it takes full viewport height. */
    padding: 5px !important;
    box-sizing: border-box !important; /* Include padding in element's total width and height. */
    gap: 5px !important; /* Space between chat container and ads. */
}

/* Styles for vertical ad placeholders on the sides. */
.ad-placeholder.vertical {
    width: 160px !important; /* Standard skyscraper ad width. */
    min-width: 160px !important;
    height: 600px !important; /* Example height for vertical ad. */
    background-color: #2D2D2D !important; /* Ad placeholder background from screenshot */
    border-radius: 12px !important; /* Rounded corners for ads. */
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    color: #909090 !important; /* Muted text color for ad content */
    font-size: 0.9em !important;
    text-align: center !important;
    flex-shrink: 0 !important; /* Prevent shrinking on smaller screens. */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3) !important; /* Subtle shadow for depth. */
}

/* Hide vertical ads on screens smaller than large devices. */
@media (max-width: 1024px) {
    .ad-placeholder.vertical {
        display: none !important;
    }
}

/* Main container for the chat interface, centered and responsive. */
.chat-page-container {
    display: flex !important;
    flex-direction: row !important; /* Default to row layout for desktop. */
    background-color: #222222 !important; /* Main container background from screenshot */
    border-radius: 16px !important; /* More rounded corners for the main container. */
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.5) !important; /* Prominent shadow. */
    overflow: hidden !important; /* Hide overflow content, especially during resizing. */
    width: 100% !important; /* Take full width within the wrapper. */
    max-width: 1200px !important; /* Maximum width for the chat interface on large screens. */
    min-height: 80vh !important; /* Minimum height to ensure content visibility. */
    max-height: 90vh !important; /* Maximum height to prevent too tall UI. */
}

/* Media query for tablet and mobile devices: stack elements vertically. */
@media (max-width: 768px) {
    .chat-page-container {
        flex-direction: column !important; /* Stack chat content and sidebar vertically. */
        min-height: 95vh !important; /* Take more height on smaller screens. */
        max-height: 95vh !important;
        width: 99% !important; /* Adjust width for mobile. */
    }
}

/* Main chat content area, where messages are displayed and input is taken. */
#chat-main-content {
    flex-grow: 1 !important; /* Allows this section to take up available space. */
    display: flex !important;
    flex-direction: column !important; /* Stack header, messages, and input vertically. */
    padding: 5px !important;
    background-color: #2D2D2D !important; /* Chat content background from screenshot */
    position: relative !important; /* For loader positioning. */
    overflow: hidden !important; /* Important for scrollable messages. */
}

/* Chat header styles. */
#chat-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding-bottom: 15px !important;
    border-bottom: 1px solid #505050 !important; /* Subtle separator from screenshot */
    margin-bottom: 15px !important;
  
    font-weight: 600 !important;
    color: #F0F0F0 !important; /* Lighter text for header */
}
#chat-header a{
	  font-size: 0.80em !important;
}

/* Hamburger menu icon for mobile. */
.hamburger-menu {
    background: none !important;
    border: none !important;
    color: #F0F0F0 !important; /* Light color for the icon */
    cursor: pointer !important;
    padding: 5px !important;
    display: none !important; /* Hidden by default on desktop. */
}

/* Show hamburger menu on mobile. */
@media (max-width: 768px) {
    .hamburger-menu {
        display: block !important;
    }
}

/* Chat messages display area. */
#chat-messages {
    flex-grow: 1 !important; /* Allows messages to fill available space and be scrollable. */
    overflow-y: auto !important; /* Enable vertical scrolling for messages. */
    padding-right: 10px !important; /* Space for scrollbar. */
    margin-bottom: 15px !important;
    scroll-behavior: smooth !important; /* Smooth scrolling to new messages. */
}

/* Custom scrollbar for Webkit browsers. */
#chat-messages::-webkit-scrollbar {
    width: 8px !important; /* Width of the scrollbar. */
}

#chat-messages::-webkit-scrollbar-track {
    background: #222222 !important; /* Dark background for the track (matching chat content background). */
    border-radius: 10px !important;
}

#chat-messages::-webkit-scrollbar-thumb {
    background: #505050 !important; /* Darker thumb color from screenshot. */
    border-radius: 10px !important;
}

#chat-messages::-webkit-scrollbar-thumb:hover {
    background: #707070 !important; /* Lighter on hover. */
}

/* Base styles for individual chat messages. */
.chat-message {
    display: flex !important;
    flex-direction: column !important;
    margin-bottom: 15px !important;
    align-items: flex-start !important; /* Default alignment for AI messages. */
}

/* User message specific styles. */
.chat-message.user {
    align-items: flex-end !important; /* Align user messages to the right. */
}

/* AI message specific styles. */
.chat-message.ai {
    align-items: flex-start !important; /* Align AI messages to the left. */
}

/* Styling for the message bubble itself. */
.chat-message .bubble {
    padding: 12px 18px !important;
    border-radius: 20px !important; /* More rounded bubbles. */
    max-width: 80% !important; /* Limit bubble width. */
    word-wrap: break-word !important; /* Break long words. */
    font-size: 0.95em !important;
    line-height: 1.5 !important;
    position: relative !important; /* For action icons positioning. */
}

/* Background colors for user and AI bubbles. */
.chat-message.user .bubble {
    background-color: #3498DB !important; /* Blue for user messages from screenshot */
    color: #ffffff !important; /* White text on blue. */
    border-bottom-right-radius: 5px !important; /* Sharpen one corner for a chat bubble effect. */
}

.chat-message.ai .bubble {
    background-color: #222222 !important; /* Darker gray for AI messages (matching chat content) from screenshot */
    color: #F0F0F0 !important; /* Light text on dark gray. */
    border-bottom-left-radius: 5px !important; /* Sharpen one corner for a chat bubble effect. */
}

/* LaTeX rendering styles within bubbles. */
.chat-message .bubble .katex-display > .katex {
    display: inline-block !important; /* Ensure block LaTeX fits in bubble. */
    white-space: normal !important; /* Allow wrapping. */
}

/* Timestamp below messages. */
.chat-timestamp {
    font-size: 0.75em !important;
    color: #909090 !important; /* Muted color for timestamp */
    margin-top: 5px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important; /* Space between timestamp and action buttons. */
}

/* Right alignment for user message timestamps. */
.chat-message.user .chat-timestamp {
    align-self: flex-end !important;
}

/* Left alignment for AI message timestamps. */
.chat-message.ai .chat-timestamp {
    align-self: flex-start !important;
}

/* Action icons container within messages. */


.chat-message.ai .bubble:hover .chat-message-actions,
.chat-message.ai .chat-message-actions:hover {
    opacity: 1 !important; /* Show on hover for AI messages. */
}

/* Button styles for actions within message bubbles. */
.chat-message-actions button {
    background: none !important;
    border: none !important;
    color: #F0F0F0 !important; /* Icon color */
    cursor: pointer !important;
    padding: 4px !important;
    border-radius: 8px !important; /* Slightly rounded buttons. */
    transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
}

.chat-message-actions button:hover {
    background-color: rgba(255, 255, 255, 0.1) !important; /* Light highlight on hover. */
    color: #F0F0F0 !important;
}

/* Specific styling for the response action buttons. */
.response-actions {
    display: flex !important;
    gap: 5px !important;
    margin-left: auto !important; /* Push actions to the right within the timestamp row. */
    margin-right: -5px !important; /* Pull them slightly into the bubble area. */
}

/* Input container for chat. */
#chat-input-container {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important; /* Space between input and button. */
    margin-top: auto !important; /* Push to the bottom of the content area. */
    position: relative !important; /* For loader positioning. */
}

/* Chat input field styles. */
#chat-input {
    flex-grow: 1 !important; /* Allow input to take most space. */
    padding: 12px 18px !important;
    border-radius: 25px !important; /* Pill-shaped input. */
    border: 1px solid #505050 !important; /* Subtle border from screenshot */
    background-color: #222222 !important; /* Dark background for input */
    color: #F0F0F0 !important; /* Light text color */
    font-size: 1em !important;
    outline: none !important; /* Remove default focus outline. */
    transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

#chat-input:focus {
    border-color: #3498DB !important; /* Blue border on focus */
    box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.5) !important; /* Blue glow on focus */
}

#chat-input::placeholder {
    color: #909090 !important; /* Muted placeholder text */
}

/* Send button styles. */
#send-button {
    background-color: #3498DB !important; /* Blue send button from screenshot */
    color: #ffffff !important; /* White icon. */
    border: none !important;
    border-radius: 50% !important; /* Circular button. */
    width: 44px !important; /* Fixed size. */
    height: 44px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease-in-out, transform 0.2s ease-in-out;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2) !important; /* Shadow for depth. */
    flex-shrink: 0 !important; /* Prevent shrinking. */
}

#send-button:hover:not(:disabled) {
    background-color: #2196F3 !important; /* Darker blue on hover */
    transform: translateY(-2px) !important; /* Slight lift effect. */
}

#send-button:disabled {
    background-color: #606060 !important; /* Muted gray when disabled */
    cursor: not-allowed !important;
    opacity: 0.7 !important;
}

/* Loader animation. */
.loader {
    border: 3px solid #505050 !important; /* Light gray border for loader */
    border-top: 3px solid #3498DB !important; /* Blue top border for animation */
    border-radius: 50% !important;
    width: 20px !important;
    height: 20px !important;
    animation: spin 1s linear infinite !important; /* Spin animation. */
    position: absolute !important;
    right: 60px !important; /* Position inside the input field. */
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: none !important; /* Hidden by default. */
}

.loader.active {
    display: block !important; /* Show when active. */
}

@keyframes spin {
    0% { transform: rotate(0deg) !important; }
    100% { transform: rotate(360deg) !important; }
}

/* Sidebar styles. */
#chat-sidebar {
    width: 300px !important; /* Fixed width for sidebar. */
    min-width: 250px !important; /* Minimum width to ensure content is visible. */
    background-color: #1A1A1A !important; /* Same as main container background from screenshot */
    padding: 20px !important;
    border-left: 1px solid #505050 !important; /* Separator from chat content */
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    overflow-y: auto !important; /* Enable scrolling if content overflows. */
}

/* Hide sidebar on mobile. */
@media (max-width: 768px) {
    #chat-sidebar {
        display: none !important; /* Hide sidebar by default on mobile. */
        position: absolute !important; /* Allow it to overlay content when active. */
        top: 0 !important;
        right: 0 !important;
        width: 70% !important; /* Take up 70% of screen width on mobile. */
        max-width: 300px !important;
        height: 100% !important;
        z-index: 1000 !important; /* Ensure it's on top. */
        transform: translateX(100%) !important; /* Slide out to the right. */
        transition: transform 0.3s ease-in-out !important;
        border-left: none !important; /* No border when overlaid. */
        box-shadow: -4px 0 15px rgba(0, 0, 0, 0.4) !important; /* Shadow for overlay effect. */
    }

    #chat-sidebar.active {
        transform: translateX(0) !important; /* Slide in. */
    }
}


.sidebar-section-title {
    font-size: 1.1em !important;
    font-weight: 600 !important;
    color: #F0F0F0 !important; /* Lighter text for title */
    margin-bottom: 10px !important;
    padding-bottom: 5px !important;
    border-bottom: 1px solid #505050 !important; /* Separator */
}
/* Progress Bar Styles */
        #query-progress-container {
            background-color: #0F0F0F; /* Matches body background for the progress bar area */
            padding: 1rem; /* Adjusted padding */
            border-radius: 0.75rem; /* Rounded corners */
            border: 1px solid #262626;
            color: #A0A0A0; /* Softer text color */
            font-size: 0.9rem; /* Slightly larger font */
            display: flex;
            flex-direction: column;
            gap: 0.6rem; /* More space */
        }

        #query-progress-bar {
            width: 100%;
            height: 10px; /* Thicker bar */
            background-color: #262626; /* Background of the bar */
            border-radius: 5px; /* More rounded */
            overflow: hidden;
        }

        #query-progress-fill {
            height: 100%;
            width: 0%; /* Initial width */
            background-color: #60A5FA; /* A subtle blue for progress, for contrast with red theme */
            transition: width 0.3s ease-in-out;
            border-radius: 5px; /* Consistent roundedness */
        }

/* Message when query limit is exhausted. */
.limit-exhausted-message {
    color: #E74C3C !important; /* Red color for warning */
    font-size: 0.85em !important;
    text-align: center !important;
    margin-top: 10px !important;
    font-weight: 500 !important;
}

/* Recent queries list styling. */
#recent-queries-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

.recent-query-item {
    background-color: #2D2D2D !important; /* Item background from screenshot */
    padding: 10px 15px !important;
    border-radius: 10px !important;
    cursor: pointer !important;
    font-size: 0.9em !important;
    color: #F0F0F0 !important; /* Text color */
    white-space: nowrap !important; /* Prevent text wrapping. */
    overflow: hidden !important; /* Hide overflow text. */
    text-overflow: ellipsis !important; /* Add ellipsis for overflow. */
    transition: background-color 0.2s ease-in-out, transform 0.1s ease-in-out;
}

.recent-query-item:hover {
    background-color: #383838 !important; /* Darker on hover */
    transform: translateY(-1px) !important; /* Slight lift. */
}

#show-more-less-queries-button {
    background: none !important;
    border: 1px solid #505050 !important; /* Border from screenshot */
    color: #F0F0F0 !important; /* Text color */
    padding: 8px 12px !important;
    border-radius: 10px !important;
    cursor: pointer !important;
    margin-top: 10px !important;
    width: 100% !important;
    font-size: 0.85em !important;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}

#show-more-less-queries-button:hover {
    background-color: #2D2D2D !important; /* Darker background on hover */
    color: #F0F0F0 !important;
    border-color: #707070 !important;
}


/* Sidebar FAB Button and Menu */
.sidebar-fab-container {
    position: relative !important;
    margin-left: auto !important; /* Pushes the FAB to the right if in a flex container */
}

.fab-button {
    background-color: #FF4D6D !important; /* Blue background for FAB from screenshot */
    color: #ffffff !important;
    border: none !important;
    border-radius: 50% !important; /* Circular button */
    width: 48px !important;
    height: 48px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    cursor: pointer !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3) !important; /* Shadow for depth */
    transition: background-color 0.3s ease, transform 0.3s ease;
    z-index: 1 !important; /* Ensure button is above menu items when open */
}

.fab-button:hover {
    background-color: #000000 !important; /* Darker blue on hover */
    transform: translateY(-2px) !important; /* Slight lift effect. */
}

.fab-menu {
    position: absolute !important;
    bottom: calc(100% + 10px) !important; /* Position above the FAB button */
    right: 0 !important; /* Align with the right edge of the FAB button */
    background-color: #2D2D2D !important; /* Darker background for the menu from screenshot */
    border-radius: 12px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4) !important;
    padding: 10px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    opacity: 0 !important; /* Hidden by default */
    visibility: hidden !important; /* Ensures it's not interactive when hidden */
    transform: translateY(10px) !important; /* Start slightly below final position */
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
    z-index: 0 !important; /* Below the button initially, or same level when open */
    min-width: 180px !important; /* Ensure menu has a decent width */
}

.fab-menu.active {
    opacity: 1 !important; /* Fade in */
    visibility: visible !important; /* Make visible */
    transform: translateY(0) !important; /* Slide up to final position */
}

.fab-menu button {
    background: none !important;
    border: none !important;
    color: #F0F0F0 !important; /* Light text for menu items */
    padding: 10px 15px !important;
    border-radius: 8px !important;
    text-align: left !important;
    cursor: pointer !important;
    font-size: 0.9em !important;
    transition: background-color 0.2s ease, color 0.2s ease;
    width: 100% !important; /* Make buttons take full width of menu */
}

.fab-menu button:hover {
    background-color: #383838 !important; /* Darker gray on hover */
    color: #F0F0F0 !important;
}


/* Mobile Menu Overlay */
.mobile-menu-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-color: rgba(0, 0, 0, 0.7) !important; /* Semi-transparent black overlay */
    display: flex !important;
    justify-content: flex-end !important; /* Align content to the right */
    visibility: hidden !important; /* Hidden by default */
    opacity: 0 !important;
    transition: visibility 0.3s, opacity 0.3s;
    z-index: 1001 !important; /* Above everything else */
}

.mobile-menu-overlay.active {
    visibility: visible !important;
    opacity: 1 !important;
}

.mobile-menu-content {
    background-color: #1A1A1A !important; /* Dark background for menu */
    width: 70% !important; /* Take up 70% of screen width */
    max-width: 300px !important; /* Max width for larger mobiles/small tablets */
    height: 100% !important;
    padding: 20px !important;
    box-shadow: -5px 0 15px rgba(0, 0, 0, 0.5) !important; /* Shadow on the left edge */
    display: flex !important;
    flex-direction: column !important;
    transform: translateX(100%) !important; /* Start off-screen to the right */
    transition: transform 0.3s ease-out !important;
    position: relative !important; /* For close button positioning */
}

.mobile-menu-overlay.active .mobile-menu-content {
    transform: translateX(0) !important; /* Slide in */
}

.mobile-menu-content .close-button {
    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
    background: none !important;
    border: none !important;
    font-size: 2em !important;
    color: #F0F0F0 !important; /* Light color for the icon */
    cursor: pointer !important;
    padding: 5px !important;
    line-height: 1 !important; /* Prevents extra space below the 'x' */
}

.mobile-menu-content a {
    color: #F0F0F0 !important; /* Link text color */
    text-decoration: none !important;
    padding: 12px 15px !important;
    margin: 5px 0 !important;
    border-radius: 8px !important;
    transition: background-color 0.2s ease, color 0.2s ease;
    font-weight: 500 !important;
}

.mobile-menu-content a:hover {
    background-color: #2D2D2D !important; /* Darker on hover */
    color: #3498DB !important; /* Blue on hover */
}

/* Base styles for all modals. */
.modal-overlay,
.chat-history-modal-overlay,
.plot-modal-overlay,
.steps-modal-overlay,
.problem-generator-modal-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-color: rgba(0, 0, 0, 0.7) !important; /* Semi-transparent background */
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    visibility: hidden !important; /* Hidden by default */
    opacity: 0 !important;
    transition: visibility 0.3s, opacity 0.3s;
    z-index: 1002 !important; /* Ensures modals are on top */
}

.modal-overlay.active,
.chat-history-modal-overlay.active,
.plot-modal-overlay.active,
.steps-modal-overlay.active,
.problem-generator-modal-overlay.active {
    visibility: visible !important;
    opacity: 1 !important;
}

/* Common modal content styling. */
.modal-content,
.chat-history-content,
.plot-modal-content,
.steps-modal-content,
.problem-generator-content {
    background-color: #1A1A1A !important; /* Dark background */
    border-radius: 16px !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.5) !important;
    padding: 25px !important;
    position: relative !important; /* For close button positioning */
    display: flex !important;
    flex-direction: column !important;
    max-width: 90% !important; /* Responsive width */
    max-height: 90% ; /* Responsive height */
    overflow: hidden; /* Handle internal scrolling */
    transform: translateY(20px) !important; /* Start slightly offset */
    transition: transform 0.3s ease-out !important;
}

.modal-overlay.active .modal-content,
.chat-history-modal-overlay.active .chat-history-content,
.plot-modal-overlay.active .plot-modal-content,
.steps-modal-overlay.active .steps-modal-content,
.problem-generator-modal-overlay.active .problem-generator-content {
    transform: translateY(0) !important; /* Slide into place */
}


/* Modal header styles. */
.chat-history-header,
.plot-modal-header,
.steps-modal-header,
.problem-generator-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding-bottom: 15px !important;
    border-bottom: 1px solid #505050 !important; /* Border */
    margin-bottom: 15px !important;
    font-size: 1.1em !important;
    font-weight: 600 !important;
    color: #F0F0F0 !important; /* Header text color */
}

/* Common close button for modals. */
.chat-history-close-button,
.plot-close-button,
.steps-close-button,
.problem-generator-close-button {
    background: none !important;
    border: none !important;
    font-size: 1.8em !important;
    color: #F0F0F0 !important; /* Icon color */
    cursor: pointer !important;
    padding: 5px !important;
    line-height: 1 !important; /* Prevents extra space below the 'x' */
}

.chat-history-close-button:hover,
.plot-close-button:hover,
.steps-close-button:hover,
.problem-generator-close-button:hover {
    color: #FFFFFF !important; /* White on hover */
}


/* Specific modal body styles. */
.chat-history-body,
.plot-modal-body,
.steps-modal-body,
.problem-generator-body {
    flex-grow: 1 !important; /* Allow body to fill available space */
    overflow-y: auto !important; /* Enable scrolling if content overflows */
    padding-right: 10px !important; /* Space for scrollbar */
    color: #F0F0F0 !important; /* Light text color */
}

/* Chat history message styling within the modal. */
.chat-history-body .chat-message {
    margin-bottom: 10px !important;
    padding-right: 0 !important; /* No need for scrollbar space here */
}

.chat-history-body .chat-message .bubble {
    font-size: 0.9em !important;
    padding: 10px 15px !important;
    max-width: 95% !important; /* Adjust for modal layout */
}

.chat-history-body .chat-message.user .bubble {
    background-color: #3498DB !important;
}

.chat-history-body .chat-message.ai .bubble {
    background-color: #222222 !important; /* Matching chat content background */
}

.chat-history-body .chat-timestamp {
    font-size: 0.7em !important;
    color: #909090 !important;
    margin-top: 3px !important;
}


/* Plot Modal Specifics */
.plot-modal-content {
    width: 800px !important; /* Fixed width for the plot, adjust as needed */
    height: 600px !important; /* Fixed height for the plot */
    max-width: 95% !important; /* Ensure responsiveness */
    max-height: 95% !important;
    display: flex !important;
    flex-direction: column !important;
}

#plot-container {
    width: 100% !important;
    height: 100% !important;
    background-color: #ffffff !important; /* White background for the plot area */
    border-radius: 8px !important;
    overflow: hidden !important; /* Ensure plot stays within bounds */
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

#plot-container svg {
    /* Style the SVG elements generated by function-plot */
    font-family: 'Inter', sans-serif !important; /* Use Inter font within the plot */
}


/* Steps Modal Specifics */
.steps-modal-content {
    width: 700px !important; /* Max width for steps content */
    max-width: 95% !important;
    height: 600px !important; /* Max height for steps content */
    max-height: 95% !important;
}

.steps-modal-body {
    display: flex !important;
    flex-direction: column !important;
}

#current-step-display {
    flex-grow: 1 !important;
    overflow-y: auto !important; /* Make step content scrollable */
    padding-right: 10px !important; /* Space for scrollbar */
    padding-bottom: 20px !important; /* Space above navigation buttons */
    justify-content: flex-start !important; /* Align content to the top */
    align-items: flex-start !important; /* Align content to the left */
    text-align: left !important;
}

#current-step-display .bubble {
    max-width: 100% !important; /* Take full width of display area */
    box-sizing: border-box !important; /* Include padding */
}

#steps-loader-container {
    width: 100% !important;
    text-align: center !important;
    margin-top: 50px !important; /* Center loader vertically */
}

#steps-loader {
    width: 40px !important;
    height: 40px !important;
    border-width: 4px !important;
}

#steps-loading-text {
    font-size: 1.1em !important;
    color: #909090 !important; /* Loading text color */
}

#steps-error-message {
    text-align: center !important;
    font-weight: 500 !important;
}

.steps-navigation {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding-top: 15px !important;
    border-top: 1px solid #505050 !important; /* Border */
    margin-top: 15px !important;
    flex-shrink: 0 !important; /* Prevent navigation from shrinking */
}

.steps-navigation button {
    background-color: #3498DB !important; /* Blue buttons from screenshot */
    color: #ffffff !important;
    border: none !important;
    padding: 10px 18px !important;
    border-radius: 12px !important;
    cursor: pointer !important;
    font-size: 0.9em !important;
    font-weight: 500 !important;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.steps-navigation button:hover:not(:disabled) {
    background-color: #2196F3 !important; /* Darker blue on hover */
    transform: translateY(-1px) !important;
}

.steps-navigation button:disabled {
    background-color: #606060 !important; /* Muted gray when disabled */
    cursor: not-allowed !important;
    opacity: 0.7 !important;
}

.steps-counter {
    font-weight: 600 !important;
    color: #F0F0F0 !important; /* Counter text color */
}

/* Problem Generator Modal Specifics */
.problem-generator-content {
    width: 500px !important;
    max-width: 95% !important;
    max-height: 80% !important; /* Adjust height to fit common screen sizes */
    justify-content: space-between !important; /* Push buttons to bottom */
}

.problem-generator-body {
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
    padding-top: 10px !important; /* Add some padding to the top of the body */
}

.form-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

.form-group label {
    font-weight: 500 !important;
    color: #F0F0F0 !important; /* Label text color */
}

.form-group select {
    width: 100% !important;
    padding: 10px 15px !important;
    border-radius: 10px !important;
    border: 1px solid #505050 !important; /* Border */
    background-color: #222222 !important; /* Background */
    color: #F0F0F0 !important; /* Text color */
    font-size: 1em !important;
    outline: none !important;
    appearance: none !important; /* Remove default select arrow */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important; /* Custom arrow */
    background-repeat: no-repeat !important;
    background-position: right 15px center !important;
    background-size: 16px !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.form-group select:focus {
    border-color: #3498DB !important; /* Blue border on focus */
    box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.5) !important; /* Blue glow on focus */
}

.generate-button {
    background-color: #2ECC71 !important; /* Green for generate button from screenshot */
    color: #ffffff !important;
    border: none !important;
    padding: 12px 20px !important;
    border-radius: 12px !important;
    font-size: 1em !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease, transform 0.2s ease;
    margin-top: 20px !important; /* Space above button */
}

.generate-button:hover:not(:disabled) {
    background-color: #27AE60 !important; /* Darker green on hover */
    transform: translateY(-1px) !important;
}

.generate-button:disabled {
    background-color: #606060 !important;
    cursor: not-allowed !important;
    opacity: 0.7 !important;
}

#problem-generator-loader-container {
    width: 100% !important;
    text-align: center !important;
}

/* Snackbar Notification */
#snackbar {
    visibility: hidden !important; /* Hidden by default. */
    min-width: 250px !important; /* Set a default minimum width */
    background-color: #333333 !important; /* Dark background color */
    color: #F0F0F0 !important; /* White text color */
    text-align: center !important; /* Centered text */
    border-radius: 10px !important; /* Rounded corners */
    padding: 16px !important; /* Padding */
    position: fixed !important; /* Sit on top of the screen */
    z-index: 10000 !important; /* High z-index to be on top of everything */
    left: 50% !important; /* Center the snackbar horizontally */
    transform: translateX(-50%) !important; /* Adjust for perfect centering */
    bottom: 30px !important; /* 30px from the bottom */
    font-size: 1em !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4) !important;
    transition: visibility 0.3s, opacity 0.3s linear; /* Fade in/out effect */
    opacity: 0 !important;
}

#snackbar.show {
    visibility: visible !important; /* Show the snackbar */
    opacity: 1 !important; /* Fade in */
    -webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s !important;
    animation: fadein 0.5s, fadeout 0.5s 2.5s !important;
}

/* Snackbar colors based on type */
#snackbar.info {
    background-color: #3498DB !important; /* Blue for info */
}

#snackbar.warning {
    background-color: #F39C12 !important; /* Yellow for warning */
    color: #1A1A1A !important; /* Dark text for better contrast on yellow */
}

#snackbar.error {
    background-color: #E74C3C !important; /* Red for error */
}

/* Animations for snackbar */
@-webkit-keyframes fadein {
    from {bottom: 0 !important; opacity: 0 !important;}
    to {bottom: 30px !important; opacity: 1 !important;}
}

@keyframes fadein {
    from {bottom: 0 !important; opacity: 0 !important;}
    to {bottom: 30px !important; opacity: 1 !important;}
}

@-webkit-keyframes fadeout {
    from {bottom: 30px !important; opacity: 1 !important;}
    to {bottom: 0 !important; opacity: 0 !important;}
}

@keyframes fadeout {
    from {bottom: 30px !important; opacity: 1 !important;}
    to {bottom: 0 !important; opacity: 0 !important;}
}

/* Generated Problem styling */
.chat-message.generated-problem .bubble {
    border: 2px solid #2ECC71 !important; /* Green border to highlight generated problems */
    background-color: #1C3322 !important; /* Slightly greenish dark background */
}

.chat-message.generated-problem .bubble::before {
    content: "New Problem!" !important;
    position: absolute !important;
    top: -10px !important; /* Position above the bubble */
    left: 15px !important;
    background-color: #2ECC71 !important; /* Green background for the label */
    color: white !important;
    font-size: 0.7em !important;
    padding: 3px 8px !important;
    border-radius: 8px !important;
    font-weight: bold !important;
    transform: translateY(-50%) !important;
}


  /* Modal Overlay */
       /* Modal Overlay - Centered, Full Screen, Hidden by default */
        #mathCraveGuideModalOverlay.modal-overlay {
            position: fixed !important;
            top: 0 !important;
            left: 0 !important;
            right: 0 !important;
            bottom: 0 !important;
            background-color: rgba(0, 0, 0, 0.9) !important; /* Darker overlay */
            display: flex !important; /* Use flex for centering */
            align-items: center !important; /* Center vertically */
            justify-content: center !important; /* Center horizontally */
            z-index: 9999 !important; /* High z-index to ensure it's on top */
            opacity: 0 !important;
            visibility: hidden !important;
            transition: opacity 0.3s ease-out, visibility 0.3s ease-out !important;
        }
        #mathCraveGuideModalOverlay.modal-overlay.active {
            opacity: 1 !important;
            visibility: visible !important;
        }

        /* Modal Content - Not too wide, scrollable, with subtle animations */
        #mathCraveGuideModalOverlay .modal-content {
            background-color: #0f0f0f !important; /* Dark background for content */
            border-radius: 8px !important;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3), 0 4px 6px -2px rgba(0, 0, 0, 0.15) !important; /* Darker shadow */
            padding: 32px !important;
            max-width: 768px !important;
            width: 90% !important;
            max-height: 90vh !important;
            overflow-y: auto !important;
            transform: scale(0.95) !important;
            opacity: 0 !important;
            transition: transform 0.3s ease-out, opacity 0.3s ease-out !important;
            position: relative !important;
            border: 1px solid rgba(255, 255, 255, 0.1) !important; /* Subtle border for definition */
        }
        #mathCraveGuideModalOverlay.modal-overlay.active .modal-content {
            transform: scale(1) !important;
            opacity: 1 !important;
        }

        /* Scrollbar Styling for modal */
        #mathCraveGuideModalOverlay .modal-content::-webkit-scrollbar {
            width: 8px !important;
        }
        #mathCraveGuideModalOverlay .modal-content::-webkit-scrollbar-track {
            background: #4A5568 !important; /* Darker track */
            border-radius: 4px !important;
        }
        #mathCraveGuideModalOverlay .modal-content::-webkit-scrollbar-thumb {
            background: #63B3ED !important; /* Lighter blue for dark theme */
            border-radius: 4px !important;
        }
        #mathCraveGuideModalOverlay .modal-content::-webkit-scrollbar-thumb:hover {
            background: #4299E1 !important; /* Darker blue on hover */
        }

        /* Headings */
        #mathCraveGuideModalOverlay .modal-content h1 {
            font-size: 1.85rem !important;
            font-weight: 700 !important;
            color: #E2E8F0 !important; /* Light text for dark background */
            margin-bottom: 1rem !important;
            text-align: left !important; /* Keep headings left-aligned */
        }
        #mathCraveGuideModalOverlay .modal-content h2 {
            font-size: 1.175rem !important;
            font-weight: 600 !important;
            color: #63B3ED !important; /* Blue accent for dark theme */
            margin-top: 1.5rem !important;
            margin-bottom: 0.75rem !important;
            text-align: left !important; /* Keep headings left-aligned */
        }
        #mathCraveGuideModalOverlay .modal-content h3 {
            font-size: 1.05rem !important;
            font-weight: 500 !important;
            color: #CBD5E0 !important; /* Lighter gray for subheadings */
            margin-top: 1rem !important;
            margin-bottom: 0.5rem !important;
            text-align: left !important; /* Keep headings left-aligned */
        }

        /* Paragraphs and Lists */
        #mathCraveGuideModalOverlay .modal-content p {
            color: #A0AEC0 !important; /* Medium gray for body text */
            line-height: 1.6 !important;
            margin-bottom: 1rem !important;
            text-align: left !important; /* ALL PARAGRAPHS LEFT ALIGNED */
        }
        #mathCraveGuideModalOverlay .modal-content ul {
            list-style-type: disc !important;
            list-style-position: inside !important;
            margin-bottom: 1rem !important;
            padding-left: 1rem !important;
            text-align: left !important; /* ALL LISTS LEFT ALIGNED */
        }
        #mathCraveGuideModalOverlay .modal-content li {
            color: #A0AEC0 !important; /* Medium gray for list items */
            margin-bottom: 0.25rem !important;
            text-align: left !important; /* ALL LIST ITEMS LEFT ALIGNED */
        }

        /* Code/Example Styles */
        #mathCraveGuideModalOverlay .modal-content pre {
            background-color: #1A202C !important; /* Even darker background for code blocks */
            padding: 0.75rem !important;
            border-radius: 6px !important;
            font-size: 0.875rem !important;
            font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace !important;
            overflow-x: auto !important;
            margin-top: 0.75rem !important;
            margin-bottom: 0.75rem !important;
            color: #A0AEC0 !important; /* Light text for code */
            border: 1px solid rgba(255, 255, 255, 0.1) !important; /* Subtle border */
            text-align: center !important; /* Keep PRE elements centered */
        }
        #mathCraveGuideModalOverlay .modal-content code {
            background-color: #4A5568 !important; /* Darker background for inline code */
            padding: 2px 4px !important;
            border-radius: 4px !important;
            color: #FBD38D !important; /* Accent color for inline code/KaTeX highlights */
            font-weight: 600 !important;
            /* Inline code inherits text-align from parent. For code within <pre>, it's handled by pre's text-align. */
        }

        /* KaTeX specific styling to ensure it looks good on dark theme */
        /* Make sure the base color is light for dark backgrounds */
        #mathCraveGuideModalOverlay .modal-content .katex {
            color: #E2E8F0 !important; /* Default KaTeX color, matching body text */
            text-align: center !important; /* Ensure KaTeX elements are centered */
        }
        #mathCraveGuideModalOverlay .modal-content .katex-display {
            overflow-x: auto !important; /* Ensure scroll for wide equations */
            padding-bottom: 5px !important; /* Add some padding at the bottom for long equations */
            padding-top: 5px !important;
            text-align: center !important; /* Ensure display math blocks are centered */
        }
        #mathCraveGuideModalOverlay .modal-content .katex .base,
        #mathCraveGuideModalOverlay .modal-content .katex .strut,
        #mathCraveGuideModalOverlay .modal-content .katex .frac-line,
        #mathCraveGuideModalOverlay .modal-content .katex .op-symbol,
        #mathCraveGuideModalOverlay .modal-content .katex .mord,
        #mathCraveGuideModalOverlay .modal-content .katex .mbin,
        #mathCraveGuideModalOverlay .modal-content .katex .mrel,
        #mathCraveGuideModalOverlay .modal-content .mop,
        #mathCraveGuideModalOverlay .modal-content .msupsub,
        #mathCraveGuideModalOverlay .modal-content .mfrac {
            color: inherit !important; /* Inherit color from parent (katex class) */
            border-color: inherit !important; /* Inherit border color */
        }
        #mathCraveGuideModalOverlay .modal-content .katex .color-error {
            color: #F472B6 !important; /* Maintain original error color for contrast */
        }

        /* Styling for internal links */
        #mathCraveGuideModalOverlay .internal-link {
            color: #63B3ED !important; /* A light blue for links in dark mode */
            text-decoration: none !important;
            cursor: pointer !important;
            transition: color 0.2s ease-in-out !important;
        }
        #mathCraveGuideModalOverlay .internal-link:hover {
            color: #90CDF4 !important; /* Lighter blue on hover */
        }

        /* Button Styling */
        .open-guide-button {
            background-color: #63B3ED !important; /* Lighter blue for dark theme */
            color: #1A202C !important; /* Dark text for light button */
            font-weight: 600 !important;
            padding: 12px 24px !important;
            border-radius: 8px !important;
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2) !important; /* More pronounced shadow */
            transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out !important;
            border: none !important;
            cursor: pointer !important;
            font-size: 1rem !important;
        }
        .open-guide-button:hover {
            background-color: #4299E1 !important; /* Darker blue on hover */
            box-shadow: 0 6px 8px rgba(0, 0, 0, 0.3) !important;
        }
        .open-guide-button:focus {
            outline: none !important;
            box-shadow: 0 0 0 4px rgba(99, 179, 237, 0.5) !important; /* Focus ring with button blue */
        }

        #mathCraveGuideModalOverlay .close-modal-button {
            position: absolute !important;
            top: 1rem !important;
            right: 1rem !important;
            background: none !important;
            border: none !important;
            font-size: 2rem !important;
            font-weight: bold !important;
            color: #CBD5E0 !important; /* Light gray for close button */
            cursor: pointer !important;
            transition: color 0.2s ease-in-out !important;
            line-height: 1 !important;
        }
        #mathCraveGuideModalOverlay .close-modal-button:hover {
            color: #E2E8F0 !important; /* Lighter on hover */
        }
@keyframes glow-pulse {
    0% {
        color: #A0A0A0; /* Dimmed state for text/icon */
        box-shadow: none; /* Removed box-shadow */
        text-shadow: none; /* No text shadow initially */
    }
    50% {
        color: #FFFFFF; /* Bright white for glowing text/icon core */
        box-shadow: none; /* Removed box-shadow */
        text-shadow: 0 0 8px rgba(255, 255, 255, 0.8), /* Strong white text core glow */
                     0 0 20px rgba(244, 114, 182, 0.7); /* Wider, softer glow with the red color */
    }
    100% {
        color: #A0A0A0; /* Return to dimmed state */
        box-shadow: none; /* Removed box-shadow */
        text-shadow: none; /* Return to no text shadow */
    }
}

.pulse-animation {
    animation: glow-pulse 12s ease-in-out infinite alternate;
	
	
	/* --- Glow Pulse Animations --- */
@keyframes glow-green-pulse {
    0% {
        color: #A0A0A0; /* Dimmed state for text/icon */
        box-shadow: none;
        text-shadow: none;
    }
    50% {
        color: #FFFFFF; /* Bright white for glowing text/icon core */
        box-shadow: none;
        text-shadow: 0 0 8px rgba(255, 255, 255, 0.8), /* Strong white text core glow */
                     0 0 20px rgba(144, 238, 144, 0.7); /* Light Green glow (PaleGreen) */
    }
    100% {
        color: #A0A0A0; /* Return to dimmed state */
        box-shadow: none;
        text-shadow: none;
    }
}

@keyframes glow-orange-pulse {
    0% {
        color: #A0A0A0; /* Dimmed state for text/icon */
        box-shadow: none;
        text-shadow: none;
    }
    50% {
        color: #FFFFFF; /* Bright white for glowing text/icon core */
        box-shadow: none;
        text-shadow: 0 0 8px rgba(255, 255, 255, 0.8), /* Strong white text core glow */
                     0 0 20px rgba(255, 200, 0, 0.7); /* Light Orange glow (Amber-like) */
    }
    100% {
        color: #A0A0A0; /* Return to dimmed state */
        box-shadow: none;
        text-shadow: none;
    }
}

@keyframes glow-blue-pulse {
    0% {
        color: #A0A0A0; /* Dimmed state for text/icon */
        box-shadow: none;
        text-shadow: none;
    }
    50% {
        color: #FFFFFF; /* Bright white for glowing text/icon core */
        box-shadow: none;
        text-shadow: 0 0 8px rgba(255, 255, 255, 0.8), /* Strong white text core glow */
                     0 0 20px rgba(135, 206, 235, 0.7); /* Light Blue glow (SkyBlue) */
    }
    100% {
        color: #A0A0A0; /* Return to dimmed state */
        box-shadow: none;
        text-shadow: none;
    }
}

/* Animation classes to apply */
.glow-green-animation {
    animation: glow-green-pulse 2s ease-in-out infinite alternate;
}

.glow-orange-animation {
    animation: glow-orange-pulse 2s ease-in-out infinite alternate;
}

.glow-blue-animation {
    animation: glow-blue-pulse 2s ease-in-out infinite alternate;
}
}











/* --- Steps Modal Specific Styles --- */
.steps-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7); /* Dark overlay */
    z-index: 100; /* Above main chat content */
    display: flex; /* Use flexbox to center content */
    align-items: center; /* Vertically center */
    justify-content: center; /* Horizontally center */
    visibility: hidden; /* Start hidden */
    opacity: 0; /* Start fully transparent */
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}

.steps-modal-overlay.active {
    visibility: visible;
    opacity: 1;
}

.steps-modal-content {
    background-color: #2a2a2a; /* Dark modal background */
    padding: 1.5rem; /* Reduced padding for a tighter look */
    border-radius: 0.75rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
    width: 90%; /* Responsive width */
    max-width: 550px; /* Max width for larger screens */
    max-height: 90vh; /* Max height to fit viewport */
    display: flex;
    flex-direction: column; /* Stack header, body, navigation */
    position: relative; /* For absolute positioning of close button */
}

.steps-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #3a3a3a; /* Separator for header */
}

.steps-modal-header h3 {
    font-size: 1.25rem; /* text-xl */
    font-weight: 700; /* font-bold */
    color: #e2e8f0;
}

.steps-close-button {
    background: none;
    border: none;
    font-size: 1.75rem; /* Larger 'x' for easy click */
    color: #a0a0a0;
    cursor: pointer;
    transition: color 0.2s;
    line-height: 1; /* Keep 'x' centered */
    padding: 0.25rem; /* Add padding for better click area */
    border-radius: 0.25rem;
}

.steps-close-button:hover {
    color: #e2e8f0;
    background-color: #3a3a3a; /* Subtle hover background */
}

.steps-modal-body {
    flex-grow: 1; /* Allows body to take available space */
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Pushes nav to bottom if content is short */
    overflow-y: auto; /* Enable scrolling for modal body if content overflows */
    padding-top: 0.5rem; /* Space from header */
    padding-bottom: 0.5rem; /* Space from navigation */
}

/* Style for the step content display area (current-step-display) */
#current-step-display {
    min-height: 150px; /* Ensure space for content or loader */
    background-color: #1a1a1a; /* Darker background for content area */
    padding: 1rem;
    border-radius: 0.5rem;
    display: flex; /* Apply flex to center loader/content */
    flex-direction: column;
    justify-content: center; /* Center content vertically */
    align-items: center; /* Center content horizontally */
    text-align: center; /* Center text within content area */
    margin-bottom: 1rem; /* Space before navigation */
}

/* Loader specific styles (ensure these exist globally or are defined here) */
.loader {
    border: 4px solid #f3f3f3; /* Light grey */
    border-top: 4px solid #60a5fa; /* Blue spinner */
    border-radius: 50%;
    width: 40px;
    height: 40px;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Styles for the steps-loader-container - this is critical */
#steps-loader-container {
    /* The HTML class `flex justify-center items-center flex-col` already handles layout */
    /* This ensures it uses the full width of current-step-display and centers its content */
    width: 100%;
    height: 100%; /* Take full height of its parent for centering */
}

#steps-loading-text {
    font-size: 0.9rem;
    color: #a0a0a0;
    margin-top: 0.75rem; /* Space between loader and text */
}

#steps-error-message {
    font-size: 0.9rem;
    color: #ef4444;
    margin-top: 1rem;
}

/* Navigation controls */
.steps-navigation {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 0.5rem;
    border-top: 1px solid #3a3a3a; /* Separator for navigation */
}

.steps-navigation button {
    background-color: #60a5fa;
    color: white;
    padding: 0.6rem 1.2rem; /* Adjusted padding for better look */
    border-radius: 0.5rem;
    transition: background-color 0.2s;
    font-weight: 600; /* Semi-bold */
}

.steps-navigation button:hover:not(:disabled) {
    background-color: #3b82f6;
}

.steps-navigation button:disabled {
    opacity: 0.4; /* More subtle disabled state */
    cursor: not-allowed;
}

.steps-counter {
    font-size: 0.95rem;
    color: #c0c0c0;
    font-weight: 500;
}
.report-abuse-button {
    position: static !important; /* Override absolute positioning */
    top: auto !important;       /* Reset top property */
    /* ... other styles you want ... */
}
   