.thoughtProcess {
    font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace;
    word-wrap: break-word;
    padding-top: 0.75em;
    padding-bottom: 0.75em;
}

.tList {
    padding: 1.25em 1.25em 0 1.25em;
    display: block; /* allow it to shrink within container */
    background: #e9e9e9;
    width: 100%;
    box-sizing: border-box;
    overflow-wrap: anywhere; /* aggressive wrapping for very long tokens/urls */
}

.tListItem {
    list-style: none;
    margin: auto;
    margin-left: 1.25em;
    min-height: 3.125em;
    border-left: 0.0625em solid #123bb6;
    padding: 0 0 1.875em 1.875em;
    position: relative;
}

.tListItem:last-child {
    border-left: 0;
}

.tListItem::before {
    position: absolute;
    left: -18px;
    top: -5px;
    content: " ";
    border: 8px solid #d1dbfa;
    border-radius: 500%;
    background: #123bb6;
    height: 20px;
    width: 20px;
}

.tStep {
    color: #123bb6;
    position: relative;
    font-size: 0.875em;
    margin-bottom: 0.5em;
}

.tQuery {
    color: #010207;
    position: relative;
    font-size: 0.875em;
    margin-bottom: 0.5em;
}

.tCodeBlock {
    max-height: 18.75em;
    overflow: auto;
    white-space: pre-wrap; /* allow wrapping */
    word-break: break-word;
    overflow-wrap: anywhere;
    width: 100%;
    box-sizing: border-box;
}

.tPropRow {
    flex-wrap: wrap;
    gap: 5px;
    max-width: 100%;
    margin-bottom: 0.5em;
}

.tProp {
    display: inline-block;
    background-color: #d7d7d7;
    font-size: 0.95em;
    padding: 0.1875em 0.625em;
    border-radius: 0.625em;
    margin-bottom: 0.3em;
    word-break: break-word;
    white-space: normal;
    overflow-wrap: anywhere;
}

.citationImg {
    height: 28.125rem;
    max-width: 100%;
    object-fit: contain;
}

.header {
    color: #123bb6;
    position: relative;
    font-size: 0.875em;
    margin-bottom: 0.5em;
}

.reasoningEffort {
    font-size: 14px;
    margin-bottom: 8px;
}

.tokenUsageGraph {
    margin: 16px 0;
}

.tokenBar {
    height: 20px;
    margin-bottom: 4px;
    padding-left: 4px;
    font-size: 12px;
    display: flex;
    align-items: center;
    white-space: nowrap;
    overflow: hidden;
}

.tokenBar {
    height: 20px;
    margin-bottom: 4px;
    padding-left: 4px;
    font-size: 12px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    background-color: #d7d7d7;
    white-space: nowrap;
    overflow: visible;
    min-width: max-content;
}

/* Adjust tokenLabel to allow bar-specific text color overrides */
.tokenLabel {
    padding-right: 4px;
}

.primaryBarContainer {
    width: fit-content;
    display: flex;
    gap: 4px;
}

.promptBar {
    background-color: #a82424;
    color: #ffffff; /* White text for contrast */
}

.reasoningBar {
    background-color: #265e29;
    color: #ffffff;
}

.outputBar {
    background-color: #12579b;
    color: #ffffff;
}

.totalBar {
    background-color: #424242;
    color: #ffffff;
}

.subqueriesTable,
.subqueriesTable th,
.subqueriesTable td,
.subqueriesTable tr {
    background: #fff;
}
