@import url("https://use.fontawesome.com/releases/v5.14.0/css/all.css"); /* Add font awesome icons */

/* ── Typography ─────────────────────────────────────────────────────────── */

/* sphinxawesome ships Tailwind CSS which sets font-family directly on :host,html
   (no CSS variable — just a hardcoded property). Override on every applicable
   selector that comes after theme.css loads. */
:root,
:host,
html,
body,
.sphinxawesome-theme, .font-sans {
    font-family: "Lexend Deca", sans-serif !important;
}

/* ── NOTE admonition — brand colours (Mint border, 10% Mint fill, Emerald text) */
.admonition.note {
    border-color: #27EABF !important;
    background-color: #eafdf8 !important;
}

.admonition.note .admonition-title {
    color: #273235 !important;
}

.admonition.note .admonition-title::before {
    color: #273235 !important;
}

.admonition.note p,
.admonition.note a {
    color: #2DC0A2 !important;
}

.admonition-title {
    font-weight: 600;
}

.scroll-smooth {
    scroll-behavior: smooth;
}

#flex-searchbox {
    padding-top: 30px;
}

@media (min-width: 768px) {
    .md\:h-24 {
        height: 6rem;
    }
}

/*body {*/
/*    background-color: hsl(var(--background));*/
/*}*/

body {
    background-color: var(--background);

}

.bg-background {
    background-color: var(--background);
}

.text-foreground {
    color: var(--foreground);

}

@media (min-width: 768px) {
    .md\:h-\[calc\(100vh-3\.5rem\)\] {
        height: calc(90vh - 3.5rem);
    }
}

@media (min-width: 768px) {
    .md\:w-full {
        width: 108%;
    }
}

@media (min-width: 1024px) {
    .lg\:w-64 {
        width: 100%;
    }
}




#left-sidebar a {
    align-items: end;
    border-color: transparent;
    border-radius: calc(var(--radius) - 2px);
    border-width: 1px;
    display: flex;
    padding: .375rem .5rem;
    width: 100%;
    font-size: 13px;
    font-weight: 500;
    text-align: right;
}

#right-sidebar ul li a {
    color: hsl(var(--muted-foreground));
    display: inline-block;
    text-decoration-line: none;
    transition-duration: .15s;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(.4,0,.2,1);
    font-size: 13px;
    font-weight: 500;
    text-align: right;
}

#left-sidebar a.current {
    background-color: var(--accent);
    /*border-color: var(--border);*/
    border-width: 1px;
    color: var(--accent-foreground);
    font-weight: 500;
}

#left-sidebar a:hover {
    text-decoration-line: none;
    color: #2DC0A2;
}

/*a:hover {*/
/*    text-decoration-line: none;*/
/*    color: #27EABF !important;*/
/*}*/

#right-sidebar ul li a:hover {
    color: #2DC0A2;
}

#content a:hover {
    color: #2DC0A2;
}

#content {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
}

.contents, .toctree-wrapper {
    margin-top: 24px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5rem;
}

#content ul:not(.search)>li {
    margin-top: 0px;
}

#metricslist {
    list-style-type: none !important;
    line-height: 1.5em;
}

#content section>p {
    margin-top: 1.5rem;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
}

#content h1 {
    font-size: 34px;
    font-weight: 600;
    line-height: 43px;
    margin-bottom: .5rem;
}

#footer a:hover {
    color: #2DC0A2;
}

reference .internal {
    text-align: right;
}

#left-sidebar a {
    align-items: end;
    border-color: transparent;
    border-radius: calc(var(--radius) - 2px);
    border-width: 1px;
    display: flex;
    padding: .375rem .5rem;
    width: 100%;
    font-size: 13px;
    font-weight: 500;
    text-align: left;
}


.swagger-button {
    font-size: 18px;
    font-weight: 600 !important;
    line-height: 16px;
    fill: #273235;
    color: #273235;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: #273235;
    border-radius: calc(var(--radius) - 2px);
    padding: 16px 48px 16px 48px;
    box-shadow: none;
    text-decoration-line: none !important;
    background-color: var(--accent);
}

.swagger-button:hover {
    background-color: hsl(var(--accent-foreground));
    color: var(--background);
    /*color: #273235;*/
    /*border-color: #27EABF;*/
}

#left-sidebar a.expandable {
        justify-content: left;
}

nav.table li.toctree-l1:first-child a.reference.internal::before {
    content: '\f015'; /* Font Awesome home icon */
    font-family: "Font Awesome 5 Free"; /* This is the correct font-family */
    font-weight: 900; /* Font Awesome solid style */
    margin-right: 8px; /* Adjust spacing as needed */
}

nav.table li.toctree-l1:nth-child(2) a.reference.internal::before {
    content: '\f03a'; /* Font Awesome list icon */
    font-family: "Font Awesome 5 Free"; /* This is the correct font-family */
    font-weight: 900; /* Font Awesome solid style */
    margin-right: 8px; /* Adjust spacing as needed */
}

nav.table li.toctree-l1:nth-child(2) li.toctree-l2 a.reference.internal::before {
    content: '\f105'; /* Font Awesome arrow icon */
    font-family: "Font Awesome 5 Free"; /* This is the correct font-family */
    font-weight: 900; /* Font Awesome solid style */
    margin-right: 8px; /* Adjust spacing as needed */
}

nav.table li.toctree-l1:nth-child(3) a.reference.internal::before {
    content: '\f56c'; /* Font Awesome contract icon */
    font-family: "Font Awesome 5 Free"; /* This is the correct font-family */
    font-weight: 900; /* Font Awesome solid style */
    margin-right: 8px; /* Adjust spacing as needed */
}

nav.table li.toctree-l1:nth-child(4) a.reference.internal::before {
    content: '\f017'; /* Font Awesome clock icon */
    font-family: "Font Awesome 5 Free"; /* This is the correct font-family */
    font-weight: 900; /* Font Awesome solid style */
    margin-right: 8px; /* Adjust spacing as needed */
}

nav.table li.toctree-l1:nth-child(5) a.reference.external::before {
    content: '\f0e0'; /* Font Awesome envelope icon */
    font-family: "Font Awesome 5 Free"; /* This is the correct font-family */
    font-weight: 900; /* Font Awesome solid style */
    margin-right: 8px; /* Adjust spacing as needed */
}


:root {
    --background: #F2F2F2;
    --foreground: #273235;
    --muted: 210 40% 96.1%;
    --muted-foreground: 215.4 16.3% 46.9%;
    --popover: 0 0% 100%;
    --popover-foreground: 222.2 47.4% 11.2%;
    --border: 214.3 31.8% 91.4%;
    --input: 214.3 31.8% 91.4%;
    --card: 0 0% 100%;
    --card-foreground: 222.2 47.4% 11.2%;
    --primary: 222.2 47.4% 11.2%;
    --primary-foreground: 210 40% 98%;
    --secondary: 210 40% 96.1%;
    --secondary-foreground: 222.2 47.4% 11.2%;
    --accent: #D8D8D8;
    --accent-foreground: 222.2 47.4% 11.2%;
    --destructive: 0 100% 50%;
    --destructive-foreground: 210 40% 98%;
    --ring: 215 20.2% 65.1%;
    --radius: 0.5rem;
}
.dark {
    --background: #273235;
    --foreground: #F2F2F2;
    --muted: 223 47% 11%;
    --muted-foreground: 215.4 16.3% 56.9%;
    --accent: #5F6368;
    --accent-foreground: 210 40% 98%;
    --popover: 224 71% 4%;
    --popover-foreground: 215 20.2% 65.1%;
    --border: 216 34% 17%;
    --input: 216 34% 17%;
    --card: 224 71% 4%;
    --card-foreground: 213 31% 91%;
    --primary: 210 40% 98%;
    --primary-foreground: 222.2 47.4% 1.2%;
    --secondary: 222.2 47.4% 11.2%;
    --secondary-foreground: 210 40% 98%;
    --destructive: 0 63% 31%;
    --destructive-foreground: 210 40% 98%;
    --ring: 216 34% 17%;
    --radius: 0.5rem;
}

/* ── Prompt examples page ────────────────────────────────────────────────── */

/* Two-column metadata definition list (REAL WORLD EXAMPLE, DESCRIPTION, etc.) */
.prompt-meta dl {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 0.55rem 1.5rem;
    margin: 0.5rem 0 1rem;
    padding: 0;
    align-items: baseline;
}

.prompt-meta dt {
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    color: #94a3b8;
    white-space: nowrap;
}

.prompt-meta dd {
    margin: 0;
    font-size: 1rem;
    line-height: 1.55;
}

.prompt-meta dd p,
.prompt-meta dd p:first-child {
    margin-top: 0;
    margin-bottom: 0;
}

.dark .prompt-meta dt {
    color: #64748b;
}


/* Prompt block — styled monospace area with bold support */
.prompt-block {
    margin-top: 1.25rem;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    overflow: hidden;
}

.prompt-block-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.3rem 0.85rem;
    border-bottom: 1px solid #e2e8f0;
}

.prompt-block-label {
    font-weight: 700;
    letter-spacing: 0.09em;
    color: #94a3b8;
}

.prompt-block-body {
    background: transparent;
    font-family: "Lexend Deca", monospace;
    font-size: 1rem;
    line-height: 1.75;
    color: #374151;
    padding: 1rem 1.25rem;
    word-break: break-word;
}

.prompt-block-body p {
    margin: 0;
}

/* Copy button */
.prompt-copy-btn {
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #94a3b8;
    background: none;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    padding: 1px 8px;
    cursor: pointer;
    line-height: 1.6;
    transition: color 0.15s, border-color 0.15s, background 0.15s;
}

.prompt-copy-btn:hover {
    color: #374151;
    border-color: #94a3b8;
    background: #f1f5f9;
}

.prompt-copy-btn.copied {
    color: #2DC0A2;
    border-color: #2DC0A2;
}

/* Dark mode */
.dark .prompt-block {
    border-color: rgba(255, 255, 255, 0.1);
}

.dark .prompt-block-header {
    border-bottom-color: rgba(255, 255, 255, 0.1);
}

.dark .prompt-block-label {
    color: #64748b;
}

.dark .prompt-block-body {
    
    color: #e2e8f0;
}

.dark .prompt-copy-btn {
    color: #64748b;
    border-color: #334155;
}

.dark .prompt-copy-btn:hover {
    color: #e2e8f0;
    border-color: #64748b;
    background: rgba(255,255,255,0.06);
}


/* Dark mode */

