.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;
}

.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 {
    padding: 6px 6px;
    width: 100%;
    box-sizing: border-box;
}

.tokenBar {
    min-height: 28px;
    height: auto;
    margin-bottom: 8px;
    padding: 6px 12px;
    font-size: inherit;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    background-color: #d7d7d7;
    white-space: normal;
    overflow: hidden;
    word-break: break-word;
    overflow-wrap: anywhere;
    min-width: 0;
    box-sizing: border-box;
}

/* Adjust tokenLabel to allow bar-specific text color overrides */
.tokenLabel {
    font-size: inherit;
    padding-right: 4px;
    flex: 1 1 auto;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.primaryBarContainer {
    width: 100%;
    display: flex;
    gap: 8px;
    padding: 4px 0;
    flex-wrap: nowrap;
}

.primaryBarContainer .tokenBar {
    margin-bottom: 0;
}

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

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

.outputBar {
    background-color: #12579b;
    color: #ffffff;
    min-width: 120px;
}

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

.secondaryTotalBar {
    background-color: #6d6d6d;
    color: #ffffff;
}

.segmentWrapper {
    margin-top: 16px;
    padding-top: 4px;
}

.segmentWrapperFirst {
    margin-top: 0;
}

.standaloneTotalBar {
    margin-top: 10px;
}

.groupedTotalBar {
    margin-top: 2px;
}

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

.iterationSection {
    margin-top: 1.5em;
}

.iterationSection:first-of-type {
    margin-top: 0;
}

.stepHeaderCell {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25em;
}

.stepNumberText {
    font-weight: 600;
    color: #123bb6;
}

.stepLabel {
    font-weight: 600;
}

.stepCitations {
    margin-top: 0.75em;
    display: flex;
    flex-direction: column;
    gap: 0.375em;
}

.stepResults {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    display: flex;
    flex-direction: column;
    gap: 0.25em;
}

.noResults {
    margin-top: 0.5em;
    font-size: 0.85em;
    color: #666;
    font-style: italic;
}

.stepResult {
    display: inline-block;
    font-size: 0.85em;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.stepResult a {
    font-weight: 500;
    line-height: 1.5em;
    text-align: center;
    border-radius: 0.25em;
    padding: 0em 0.5em;
    background: #d1dbfa;
    color: #123bb6;
    text-decoration: none;
    cursor: pointer;
    display: inline-block;
}

.stepResult a:hover {
    text-decoration: underline;
}

.stepCitationEntry {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25em;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
    max-width: 100%;
}

.stepCitationEntry a {
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
    text-align: left;
    max-width: 100%;
}
