/*

This CSS file will be included with your plugin, and
available in the app when your plugin is enabled.

If your plugin does not need CSS, delete this file.

*/

:root {
    --khoj-winter-sun: #f9f5de;
    --khoj-sun: #fee285;
    --khoj-storm-grey: #475569;
    --chat-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24px' height='24px' viewBox='0 0 24 24' fill='currentColor' stroke-linecap='round' stroke-linejoin='round' class='svg-icon' version='1.1'%3E%3Cpath d='m 14.024348,9.8497703 0.04627,1.9750167' stroke='%231c274c' stroke-width='2' stroke-linecap='round' /%3E%3Cpath d='m 9.6453624,9.7953624 0.046275,1.9750166' stroke='%231c274c' stroke-width='2' stroke-linecap='round' /%3E%3Cpath d='m 11.90538,2.3619994 c -5.4939109,0 -9.6890976,4.0608185 -9.6890976,9.8578926 0,1.477202 0.2658016,2.542848 0.6989332,3.331408 0.433559,0.789293 1.0740097,1.372483 1.9230615,1.798517 1.7362861,0.87132 4.1946007,1.018626 7.0671029,1.018626 0.317997,0 0.593711,0.167879 0.784844,0.458501 0.166463,0.253124 0.238617,0.552748 0.275566,0.787233 0.07263,0.460801 0.05871,1.030165 0.04785,1.474824 v 4.8e-5 l -2.26e-4,0.0091 c -0.0085,0.348246 -0.01538,0.634247 -0.0085,0.861186 0.105589,-0.07971 0.227925,-0.185287 0.36735,-0.31735 0.348613,-0.330307 0.743513,-0.767362 1.176607,-1.246635 l 0.07837,-0.08673 c 0.452675,-0.500762 0.941688,-1.037938 1.41216,-1.473209 0.453774,-0.419787 0.969948,-0.822472 1.476003,-0.953853 1.323661,-0.343655 2.330132,-0.904027 3.005749,-1.76381 0.658957,-0.838568 1.073167,-2.051868 1.073167,-3.898667 0,-5.7970748 -4.195186,-9.8578946 -9.689097,-9.8578946 z M 0.92440678,12.219892 c 0,-7.0067939 5.05909412,-11.47090892 10.98097322,-11.47090892 5.921878,0 10.980972,4.46411502 10.980972,11.47090892 0,2.172259 -0.497596,3.825405 -1.442862,5.028357 -0.928601,1.181693 -2.218843,1.837914 -3.664937,2.213334 -0.211641,0.05502 -0.53529,0.268579 -0.969874,0.670658 -0.417861,0.386604 -0.865628,0.876836 -1.324566,1.384504 l -0.09131,0.101202 c -0.419252,0.464136 -0.849637,0.94059 -1.239338,1.309807 -0.210187,0.199169 -0.425281,0.383422 -0.635348,0.523424 -0.200911,0.133819 -0.449635,0.263369 -0.716376,0.281474 -0.327812,0.02226 -0.61539,-0.149209 -0.804998,-0.457293 -0.157614,-0.255993 -0.217622,-0.557143 -0.246564,-0.778198 -0.0542,-0.414027 -0.04101,-0.933065 -0.03027,-1.355183 l 0.0024,-0.0922 c 0.01099,-0.463865 0.01489,-0.820507 -0.01611,-1.06842 C 8.9434608,19.975238 6.3139711,19.828758 4.356743,18.84659 3.3355029,18.334136 2.4624526,17.578678 1.8500164,16.463713 1.2372016,15.348029 0.92459928,13.943803 0.92459928,12.219967 Z' clip-rule='evenodd' stroke-width='2' fill='currentColor' fill-rule='evenodd' fill-opacity='1' /%3E%3C/svg%3E%0A");
    --search-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24px' height='24px' viewBox='0 0 24 24' fill='currentColor' stroke-linecap='round' stroke-linejoin='round' class='svg-icon' version='1.1'%3E%3Cpath d='m 18.562765,17.147843 c 1.380497,-1.679442 2.307667,-4.013099 2.307667,-6.330999 C 20.870432,5.3951476 16.353958,1 10.782674,1 5.2113555,1 0.69491525,5.3951476 0.69491525,10.816844 c 0,5.421663 4.51644025,9.816844 10.08775875,9.816844 2.381867,0 4.570922,-0.803307 6.296712,-2.14673 0.508475,-0.508475 4.514633,4.192839 4.514633,4.192839 1.036377,1.008544 2.113087,-0.02559 1.07671,-1.034139 z m -7.780091,1.925408 c -4.3394583,0 -8.6708434,-4.033489 -8.6708434,-8.256407 0,-4.2229187 4.3313851,-8.2564401 8.6708434,-8.2564401 4.339458,0 8.670809,4.2369112 8.670809,8.4598301 0,4.222918 -4.331351,8.053017 -8.670809,8.053017 z' fill='currentColor' fill-rule='evenodd' clip-rule='evenodd' fill-opacity='1' stroke-width='1.10519' stroke-dasharray='none' /%3E%3Cpath d='m 13.337351,9.3402647 0.05184,2.1532893' stroke='%231c274c' stroke-width='2' stroke-linecap='round' /%3E%3Cpath d='M 8.431347,9.2809457 8.483191,11.434235' stroke='%231c274c' stroke-width='2' stroke-linecap='round' /%3E%3C/svg%3E%0A");
 }

.khoj-chat p {
    margin: 0;
}
.khoj-chat pre {
    text-wrap: unset;
}

.khoj-chat {
    display: grid;
    grid-template-rows: auto 1fr auto;
    background: var(--background-primary);
    color: var(--text-normal);
    text-align: center;
    font-family: roboto, karma, segoe ui, sans-serif;
    font-size: var(--font-ui-large);
    font-weight: 300;
    line-height: 1.5em;
}
.khoj-chat > * {
    padding: 10px;
    margin: 10px;
}

#khoj-chat-title {
    font-weight: 200;
    color: var(--khoj-sun);
}

#khoj-chat-body {
    font-size: var(--font-ui-medium);
    margin: 0px;
    line-height: 20px;
    overflow-y: scroll; /* Make chat body scroll to see history */
}
/* add chat metatdata to bottom of bubble */
.khoj-chat-message::after {
    content: attr(data-meta);
    display: block;
    font-size: var(--font-ui-smaller);
    color: var(--text-muted);
    margin: -12px 7px 0 -5px;
}
/* move message by khoj to left */
.khoj-chat-message.khoj {
    margin-left: auto;
    text-align: left;
}
/* move message by you to right */
.khoj-chat-message.you {
    margin-right: auto;
    text-align: right;
}
/* basic style chat message text */
.khoj-chat-message-text {
    margin: 10px;
    border-radius: 10px;
    padding: 10px;
    position: relative;
    display: inline-block;
    text-align: left;
    user-select: text;
    color: var(--text-normal);
    background-color: var(--active-bg);
}
/* color chat bubble by khoj blue */
.khoj-chat-message-text.khoj {
    border: 1px solid var(--khoj-sun);
    margin-left: auto;
    white-space: pre-line;
}
/* Override white-space for ul, ol, li under khoj-chat-message-text.khoj */
.khoj-chat-message-text.khoj ul,
.khoj-chat-message-text.khoj ol,
.khoj-chat-message-text.khoj li {
    white-space: normal;
}
/* add left protrusion to khoj chat bubble */
.khoj-chat-message-text.khoj:after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: -7px;
    border: 10px solid transparent;
    border-bottom: 0;
    transform: rotate(-60deg);
}
/* color chat bubble by you dark grey */
.khoj-chat-message-text.you {
    border: 1px solid var(--color-accent);
    margin-right: auto;
}
/* add right protrusion to you chat bubble */
.khoj-chat-message-text.you:after {
    content: '';
    position: absolute;
    top: 91%;
    right: -2px;
    border: 10px solid transparent;
    border-right: 0;
    margin-top: -10px;
    transform: rotate(-60deg)
}

.khoj-chat-message-text ul,
.khoj-chat-message-text ol {
    margin: 0px 0 0;
}
.khoj-chat-message-text ol li {
    white-space: normal;
}

.option-enabled {
    box-shadow: 0 0 12px rgb(119, 156, 46);
}

code.chat-response {
    background: var(--khoj-sun);
    color: var(--khoj-storm-grey);
    border-radius: 5px;
    padding: 5px;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.5em;
}

div.collapsed {
    display: none;
}
div.expanded {
    display: block;
}
div.reference {
    display: grid;
    grid-template-rows: auto;
    grid-auto-flow: row;
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    margin: 10px;
}
div.expanded.reference-section {
    display: grid;
    grid-template-rows: auto;
    grid-auto-flow: row;
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    margin: 10px 0;
}
button.reference-button {
    border: 1px solid var(--khoj-storm-grey);
    background-color: transparent;
    border-radius: 5px;
    padding: 4px;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.5em;
    cursor: pointer;
    transition: background 0.2s ease-in-out;
    text-align: left;
    max-height: 75px;
    height: auto;
    transition: max-height 0.3s ease-in-out;
    overflow: hidden;
    display: inline-block;
    text-wrap: inherit;
}
button.reference-button.expanded {
    height: auto;
    max-height: none;
    white-space: pre-wrap;
}
button.reference-button.expanded > :nth-child(2) {
    display: block;
}
button.reference-button.collapsed > :nth-child(2) {
    display: none;
}

button.reference-button::before {
    content: "▶";
    margin-right: 5px;
    display: inline-block;
    transition: transform 0.1s ease-in-out;
}
button.reference-button.expanded::before,
button.reference-button:active:before,
button.reference-button[aria-expanded="true"]::before {
    transform: rotate(90deg);
}
button.reference-expand-button {
    background-color: transparent;
    border: 1px solid var(--khoj-storm-grey);
    border-radius: 5px;
    padding: 8px;
    margin-top: 8px;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.5em;
    cursor: pointer;
    transition: background 0.2s ease-in-out;
    text-align: left;
}
button.reference-expand-button:hover {
    background: var(--background-modifier-active-hover);
    color: var(--text-normal);
}
a.inline-chat-link {
    color: #475569;
    text-decoration: none;
    border-bottom: 1px dotted #475569;
}
.reference-link {
    color: var(--khoj-storm-grey);
    border-bottom: 1px dotted var(--khoj-storm-grey);
}

img {
    max-width: 60%;
}

div.new-conversation {
    display: grid;
    grid-auto-flow: column;
    grid-template-columns: 1fr auto;
    margin-bottom: 16px;
}
div.conversation-header-title {
    text-align: left;
    font-size: larger;
    line-height: 1.5em;
}
div.conversation-session {
    color: var(--color-base-90);
    border: 1px solid var(--khoj-storm-grey);
    border-radius: 5px;
    margin-top: 8px;
    padding: 5px;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.5em;
    cursor: pointer;
    transition: background 0.2s ease-in-out;
    text-align: left;
    display: grid;
    grid-auto-flow: column;
    grid-template-columns: 1fr auto;
}

button.three-dot-menu-button-item {
    color: var(--text-accent);
    border: none;
    box-shadow: none;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.5em;
    cursor: pointer;
    transition: background 0.3s ease-in-out;
    font-family: var(--font-family);
    border-radius: 4px;
    right: 0;
}

button.three-dot-menu-button-item:hover {
    background: var(--background-modifier-active-hover);
}

div.conversation-menu {
    z-index: 1;
    top: 100%;
    right: 0;
    text-align: right;
    border-radius: 5px;
    padding: 5px;
    display: grid;
    grid-gap: 4px;
    grid-auto-flow: column;
}
div.conversation-session:hover {
    transform: scale(1.03);
}
div.selected-conversation {
    background: var(--background-modifier-active-hover) !important;
}

#khoj-chat-footer {
    padding: 0;
    display: grid;
    grid-template-columns: minmax(70px, 100%);
    grid-column-gap: 10px;
    grid-row-gap: 10px;
}
.khoj-input-row {
    display: grid;
    grid-template-columns: 32px auto 32px 32px;
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    background: var(--background-primary);
    margin: 0 0 0 -8px;
    align-items: center;
}
#khoj-chat-input.option:hover {
    box-shadow: 0 0 11px var(--background-modifier-box-shadow);
}
#khoj-chat-input {
    font-size: var(--font-ui-medium);
    padding: 4px 0 0 12px;
    border-radius: 16px;
    height: 32px;
    resize: none;
}
.khoj-input-row-button {
    border-radius: 50%;
    padding: 4px;
    --icon-size: var(--icon-size);
    height: 32px;
    width: 32px;
}

#khoj-chat-send {
    padding: 0;
    position: relative;
}
#khoj-chat-send .lucide-arrow-up-circle {
    background: var(--background-modifier-active-hover);
    border-radius: 50%;
}
#khoj-chat-send .lucide-stop-circle {
    transform: rotateY(-180deg) rotateZ(-90deg);
}
#khoj-chat-send .lucide-stop-circle circle {
    stroke-dasharray: 62px;  /* The circumference of the circle with 7px radius */
    stroke-dashoffset: 0px;
    stroke-linecap: round;
    stroke-width: 2px;
    stroke: var(--main-text-color);
    fill: none;
}
@keyframes countdown {
    from {
        stroke-dashoffset: 0px;
    }
    to {
        stroke-dashoffset: -62px;  /* The circumference of the circle with 7px radius */
    }
}

@media (pointer: coarse), (hover: none) {
    #khoj-chat-body.abbr[title] {
        position: relative;
        padding-left: 4px;  /* space references out to ease tapping */
    }
    #khoj-chat-body.abbr[title]:focus:after {
        content: attr(title);

        /* position tooltip */
        position: absolute;
        left: 16px;  /* open tooltip to right of ref link, instead of on top of it */
        width: auto;
        z-index: 1;  /* show tooltip above chat messages */

        /* style tooltip */
        background-color: var(--background-secondary);
        color: var(--text-muted);
        border-radius: 2px;
        box-shadow: 1px 1px 4px 0 var(--background-modifier-box-shadow);
        font-size: var(--font-ui-small);
        padding: 2px 4px;
    }
}

.khoj-result-file {
    font-weight: 600;
}

.khoj-result-entry {
    color: var(--text-muted);
    margin-left: 2em;
    padding-left: 0.5em;
    line-height: normal;
    margin-top: 0.2em;
    margin-bottom: 0.2em;
    border-left-style: solid;
    border-left-color: var(--color-accent-2);
    white-space: normal;
}

.khoj-result-entry > * {
    font-size: var(--font-ui-medium);
}

.khoj-result-entry > p {
    margin-top: 0.2em;
    margin-bottom: 0.2em;
}

.khoj-result-entry p br {
    display: none;
}

/* Khoj Header, Navigation Pane */
div.khoj-header {
    display: grid;
    grid-auto-flow: column;
    gap: 20px;
    padding: 0 0 10px 0;
    margin: 0;
    align-items: center;
    user-select: none;
    -webkit-user-select: none;
    -webkit-app-region: drag;
}

/* Keeps the navigation menu clickable */
a.khoj-nav {
    -webkit-app-region: no-drag;
}
div.khoj-nav {
    -webkit-app-region: no-drag;
}
nav.khoj-nav {
    display: grid;
    grid-auto-flow: column;
    grid-gap: 32px;
    justify-self: right;
    align-items: center;
}

a.khoj-nav {
    display: flex;
    align-items: center;
}

div.khoj-logo {
    justify-self: left;
}

.khoj-nav a {
    color: var(--text-normal);
    text-decoration: none;
    font-size: small;
    font-weight: normal;
    padding: 0 4px;
    border-radius: 4px;
    justify-self: center;
    margin: 0;
}
.khoj-nav a:hover {
    background-color: var(--background-modifier-active-hover);
    color: var(--main-text-color);
}
a.khoj-nav-selected {
    background-color: var(--background-modifier-active-hover);
}
#similar-nav-icon-svg,
.khoj-nav-icon {
    width: 24px;
    height: 24px;
}
.khoj-nav-icon-chat {
    background-image: var(--chat-icon);
}
.khoj-nav-icon-search {
    background-image: var(--search-icon);
}
span.khoj-nav-item-text {
    padding-left: 8px;
}

/* Copy button */
button.chat-action-button {
    display: block;
    border-radius: 4px;
    color: var(--text-muted);
    background-color: transparent;
    border: 1px solid var(--khoj-storm-grey);
    text-align: center;
    font-size: 16px;
    transition: all 0.5s;
    cursor: pointer;
    padding: 4px;
    margin-top: 8px;
    float: right;
}
button.chat-action-button span {
    cursor: pointer;
    display: inline-block;
    position: relative;
    transition: 0.5s;
}
button.chat-action-button:hover {
    background-color: var(--background-modifier-active-hover);
    color: var(--text-normal);
}

img.copy-icon {
    width: 16px;
    height: 16px;
}

/* Circular Loading Spinner */
.loader {
    width: 18px;
    height: 18px;
    border: 3px solid #FFF;
    border-radius: 50%;
    display: inline-block;
    position: relative;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
}
.loader::after {
    content: '';
    box-sizing: border-box;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-bottom-color: var(--flower);
}

@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/* Loading Spinner */
.lds-ellipsis {
    display: inline-block;
    position: relative;
    width: 60px;
    height: 32px;
}
.lds-ellipsis div {
    position: absolute;
    top: 12px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--color-base-70);
    animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
.lds-ellipsis div:nth-child(1) {
    left: 8px;
    animation: lds-ellipsis1 0.6s infinite;
}
.lds-ellipsis div:nth-child(2) {
    left: 8px;
    animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(3) {
    left: 32px;
    animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(4) {
    left: 56px;
    animation: lds-ellipsis3 0.6s infinite;
}
@keyframes lds-ellipsis1 {
    0% {
        transform: scale(0);
    }
    100% {
        transform: scale(1);
    }
}
@keyframes lds-ellipsis3 {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(0);
    }
}
@keyframes lds-ellipsis2 {
    0% {
        transform: translate(0, 0);
    }
    100% {
        transform: translate(24px, 0);
    }
}

/* Loading Encircle */
.loading-encircle {
    position: relative;
}

.loading-encircle::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 24px;
    height: 24px;
    margin-top: -16px;
    margin-left: -16px;
    border: 4px solid transparent;
    border-color: var(--icon-color-active);
    border-radius: 50%;
    animation: pulse 3s ease-in-out infinite;
}
@keyframes pulse {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.2);
        opacity: 0.2;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
@media only screen and (max-width: 600px) {
    div.khoj-header {
        display: grid;
        grid-auto-flow: column;
        gap: 20px;
        padding: 24px 10px 10px 10px;
        margin: 0 0 16px 0;
    }

    nav.khoj-nav {
        grid-gap: 0px;
        justify-content: space-between;
    }
    a.khoj-nav {
        padding: 0 16px;
    }
    span.khoj-nav-item-text {
        display: none;
    }
}
