@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {

    .no-scrollbar::-webkit-scrollbar {
        display: none;
    }

    .draggable {
        -webkit-app-region: drag;
    }

    ::-webkit-scrollbar {
        width: 8px;
        background: #2d2d2d00;
    }

    table {
        /* border none */
        border-radius: 10px;
        padding: 20px;
        width: 100%;
        border-radius: 15px;
        /* background-color: #1e1e1e; */
    }

    th {
        padding: 5px;
        /* border: 1px solid #424242; */
        font-weight: bold;
    }

    td {
        padding: 5px;
        border-bottom: 1px solid #424242;
        /* text-align: center; */
        white-space: nowrap;
    }


    pre[class*="language-"],
    code[class*="language-"] {
        color: #d4d4d4;
        font-size: 12px;
        text-shadow: none;
        font-family: Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace;
        direction: ltr;
        text-align: left;
        white-space: pre;
        word-spacing: normal;
        word-break: normal;
        line-height: 1.5;
        -moz-tab-size: 4;
        -o-tab-size: 4;
        tab-size: 4;
        -webkit-hyphens: none;
        -moz-hyphens: none;
        -ms-hyphens: none;
        hyphens: none;
    }

    pre[class*="language-"]::selection,
    code[class*="language-"]::selection,
    pre[class*="language-"] *::selection,
    code[class*="language-"] *::selection {
        text-shadow: none;
        background: #264F78;
    }

    @media print {

        pre[class*="language-"],
        code[class*="language-"] {
            text-shadow: none;
        }
    }

    pre[class*="language-"] {
        padding: 1em;
        margin: .5em 0;
        overflow: auto;
        background: #1e1e1e;
    }

    :not(pre)>code[class*="language-"] {
        padding: .1em .3em;
        border-radius: .3em;
        color: #db4c69;
        background: #1e1e1e;
    }

    /*********************************************************
    * Tokens
    */
    .namespace {
        opacity: .7;
    }

    .token.doctype .token.doctype-tag {
        color: #569CD6;
    }

    .token.doctype .token.name {
        color: #9cdcfe;
    }

    .token.comment,
    .token.prolog {
        color: #6a9955;
    }

    .token.punctuation,
    .language-html .language-css .token.punctuation,
    .language-html .language-javascript .token.punctuation {
        color: #d4d4d4;
    }

    .token.property,
    .token.tag,
    .token.boolean,
    .token.number,
    .token.constant,
    .token.symbol,
    .token.inserted,
    .token.unit {
        color: #b5cea8;
    }

    .token.selector,
    .token.attr-name,
    .token.string,
    .token.char,
    .token.builtin,
    .token.deleted {
        color: #ce9178;
    }

    .language-css .token.string.url {
        text-decoration: underline;
    }

    .token.operator,
    .token.entity {
        color: #d4d4d4;
    }

    .token.operator.arrow {
        color: #569CD6;
    }

    .token.atrule {
        color: #ce9178;
    }

    .token.atrule .token.rule {
        color: #c586c0;
    }

    .token.atrule .token.url {
        color: #9cdcfe;
    }

    .token.atrule .token.url .token.function {
        color: #dcdcaa;
    }

    .token.atrule .token.url .token.punctuation {
        color: #d4d4d4;
    }

    .token.keyword {
        color: #569CD6;
    }

    .token.keyword.module,
    .token.keyword.control-flow {
        color: #c586c0;
    }

    .token.function,
    .token.function .token.maybe-class-name {
        color: #dcdcaa;
    }

    .token.regex {
        color: #d16969;
    }

    .token.important {
        color: #569cd6;
    }

    .token.italic {
        font-style: italic;
    }

    .token.constant {
        color: #9cdcfe;
    }

    .token.class-name,
    .token.maybe-class-name {
        color: #4ec9b0;
    }

    .token.console {
        color: #9cdcfe;
    }

    .token.parameter {
        color: #9cdcfe;
    }

    .token.interpolation {
        color: #9cdcfe;
    }

    .token.punctuation.interpolation-punctuation {
        color: #569cd6;
    }

    .token.boolean {
        color: #569cd6;
    }

    .token.property,
    .token.variable,
    .token.imports .token.maybe-class-name,
    .token.exports .token.maybe-class-name {
        color: #9cdcfe;
    }

    .token.selector {
        color: #d7ba7d;
    }

    .token.escape {
        color: #d7ba7d;
    }

    .token.tag {
        color: #569cd6;
    }

    .token.tag .token.punctuation {
        color: #808080;
    }

    .token.cdata {
        color: #808080;
    }

    .token.attr-name {
        color: #9cdcfe;
    }

    .token.attr-value,
    .token.attr-value .token.punctuation {
        color: #ce9178;
    }

    .token.attr-value .token.punctuation.attr-equals {
        color: #d4d4d4;
    }

    .token.entity {
        color: #569cd6;
    }

    .token.namespace {
        color: #4ec9b0;
    }

    /*********************************************************
    * Language Specific
    */

    pre[class*="language-javascript"],
    code[class*="language-javascript"],
    pre[class*="language-jsx"],
    code[class*="language-jsx"],
    pre[class*="language-typescript"],
    code[class*="language-typescript"],
    pre[class*="language-tsx"],
    code[class*="language-tsx"] {
        color: #9cdcfe;
    }

    pre[class*="language-css"],
    code[class*="language-css"] {
        color: #ce9178;
    }

    pre[class*="language-html"],
    code[class*="language-html"] {
        color: #d4d4d4;
    }

    .language-regex .token.anchor {
        color: #dcdcaa;
    }

    .language-html .token.punctuation {
        color: #808080;
    }

    /*********************************************************
    * Line highlighting
    */
    pre[class*="language-"]>code[class*="language-"] {
        position: relative;
        z-index: 1;
    }

    /**********************************************************
    * Markdown styles 
    */
    .markdown-body {
        /* Base styles for markdown content */
        font-family: sans-serif;
        line-height: 1.6;
    }

    .markdown-body table {
        /* Table styles */
        border-collapse: collapse;
        margin: 1em 0;
    }

    .markdown-body>table {
        border-collapse: collapse;
        margin: 1em 0;
        border: 1px solid #ddd;
    }

    .markdown-body>table>th,
    .markdown-body>table>td {
        border: 1px solid #ddd;
        padding: 0.5em;
        text-align: left;
    }

    .markdown-body th,
    .markdown-body td {
        border: 1px solid #ddd;
        padding: 0.5em;
    }

    .markdown-body ul {
        /* List unordored */
        padding-left: 32px;
        margin: 10px 0;
        list-style-type: disc;
    }

    .markdown-body ul ul {
        /* List unordored nested */
        padding-left: 32px;
        margin: 10px 0;
        list-style-type: square;
    }

    .markdown-body ol {
        /* List ordored styles */
        padding-left: 32px;
        list-style-type: decimal;
        margin: 10px 0;
    }

    .markdown-body hr {
        /* List ordored styles */
        /* padding-left: 32px; */
        margin: 5px 0;
        border-color: #49484C
            /* for light TBD */
    }

    .markdown-body :not(pre)>code {
        /* Inline code styles */
        padding: 2px 4px;
        font-size: 80%;
        color: #d4d4d4;
        background-color: #1e1e1e;
        border-radius: 4px;
    }

    .markdown-body strong {
        /* Bold text styles */
        font-weight: bold;
    }

    /* ... */

    .response-copy-button {
        display: flex;
        align-items: center;
        padding: 0.25em;
        background: transparent;
        color: #ffffff;
        border: none;
        cursor: pointer;
        transition: color 0.2s;
    }
    
    .response-copy-button:hover {
        color: #8be9fd;
    }

    .response-copy-button svg {
        width: 14px;
        height: 14px;
    }


    .markdown-body a {
        color: #4299e1;
        text-decoration: none;
    }

    .markdown-body a:hover {
        text-decoration: underline;
    }

    .navigation-bar {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        background-color: #f0f0f0;
        padding: 10px;
        display: flex;
        justify-content: space-between;
        z-index: 9999;
    }

    .navigation-bar button {
        padding: 5px 10px;
        background-color: #007bff;
        color: #fff;
        border: none;
        border-radius: 4px;
        cursor: pointer;
    }

    .multiline-input {
        min-height: 1em;
        /* Typically the line-height of a single line of text */
        overflow-y: auto;
        /* Hides the scrollbar initially */
        padding: 12px;
        /* Adjust to your preferred padding */
        line-height: 1.2em;
        /* Typically line-height for single line, adjust to your preference */
        resize: vertical;
        /* Keeps the textarea resizable vertically */
        max-height: 50px;
        /* Maximum height before scrolling, adjust as needed */
    }



    /* Keep the scrollbar styles as they are */
    .multiline-input::-webkit-scrollbar {
        width: 8px;
    }

    .multiline-input::-webkit-scrollbar-thumb {
        background-color: #888;
        border-radius: 4px;
    }

    /* Style for the code block container */
    .code-block-container {
        position: relative;
        background: #282a36;
        border-radius: 0.5em;
        margin: 1em 0;
    }

    .code-block-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0.25em 0.5em;
        background: rgba(68, 71, 90, 0.8);
        border-top-left-radius: 0.5em;
        border-top-right-radius: 0.5em;
        height: 1.25em;
    }

    .code-language-label {
        color: rgb(169, 167, 167);
        text-transform: uppercase;
        font-weight: bold;
        font-size: 0.5em;
        line-height: 1;
    }

    pre[class*='language-'],
    code[class*='language-'] {
        padding: 0.25em 1em;
        margin: 0;
        border-bottom-left-radius: 0.5em;
        border-bottom-right-radius: 0.5em;
        overflow-x: auto;
    }

    .code-copy-button {
        display: flex;
        align-items: center;
        padding: 0.125em;
        background: transparent;
        color: white;
        border: none;
        cursor: pointer;
        transition: color 0.2s;
    }

    .code-copy-button:hover {
        color: #8be9fd;
    }

    .code-copy-button svg {
        width: 10px;
        height: 10px;
        margin-right: 0.25em;
    }











}