1// CSS styles for OpenCode session HTML transcripts 2// Colors mapped from ANSI terminal theme in epOcToMp4AI.mjs 4export const transcriptCssVars = ` 17 --bar-purple: #9d7cd8; 19 --diff-add-bg: rgb(10,14,10); 20 --diff-del-bg: rgb(14,10,10); 21 --diff-add-text: rgb(140,195,140); 22 --diff-del-text: rgb(220,100,90); 23 --bg-near-black: #111; 27export const transcriptBaseStyles = ` 32 background: var(--bg); 34 font-family: 'Menlo', 'Monaco', 'Consolas', monospace; 38html { scrollbar-width: none; } 39html::-webkit-scrollbar { display: none; } 42export const transcriptLayoutStyles = ` 43.transcript-container { 49 border-bottom: 1px solid #333; 63.session-meta span { margin-right: 16px; } 66export const transcriptMessageStyles = ` 67.message { margin-bottom: 16px; } 79.mode-bar.plan { background: var(--bar-purple); } 80.mode-bar.build { background: var(--bar-blue); } 82 background: var(--bg-near-black); 86 white-space: pre-wrap; 88.assistant-msg { padding-left: 12px; } 89.assistant-text { white-space: pre-wrap; word-wrap: break-word; } 92export const transcriptToolStyles = ` 96 white-space: pre-wrap; 97 word-wrap: break-word; 100.seance-block { /* keep white-space: pre-wrap for line breaks */ 101 border-left: 3px solid var(--orange); 104 white-space: pre-wrap; 105 word-wrap: break-word; 110.tool-name { color: var(--orange); } 111.tool-params { color: var(--dim); } 116 white-space: pre-wrap; 117 word-wrap: break-word; 121export const transcriptDiffStyles = ` 122.diff-file { color: var(--dim); margin-bottom: 4px; } 123.diff-line { padding: 0 8px; white-space: pre-wrap; word-wrap: break-word; } 124.diff-add { display: block; background: var(--diff-add-bg); color: var(--diff-add-text); } 125.diff-del { display: block; background: var(--diff-del-bg); color: var(--diff-del-text); } 126.md-table { border-collapse: collapse; margin: 8px 0; } 127.md-table th, .md-table td { padding: 2px 12px 2px 0; text-align: left; } 128.md-table th { color: var(--white); } 129.md-table td { color: var(--fg); } 132export const transcriptQuestionStyles = ` 133.question-block { margin: 12px 0; } 134.question-header { color: var(--yellow); font-weight: bold; } 135.question-text { color: var(--white); margin: 8px 0; } 136.question-option { padding-left: 16px; margin: 4px 0; } 137.question-bullet { color: var(--dim); } 138.question-label { color: var(--white); } 139.question-desc { color: var(--dim); padding-left: 24px; } 140.question-answer { color: var(--green); margin-top: 8px; } 143export const transcriptCodeStyles = ` 144pre, code { font-family: inherit; } 147 white-space: pre-wrap; 148 word-wrap: break-word; 152export const allTranscriptStyles = [ 153 transcriptBaseStyles, 154 transcriptLayoutStyles, 155 transcriptMessageStyles, 156 transcriptToolStyles, 157 transcriptDiffStyles, 158 transcriptQuestionStyles, 159 transcriptCodeStyles, 162export const transcriptEmbedStyles = [ 164 transcriptLayoutStyles, 165 transcriptMessageStyles, 166 transcriptToolStyles, 167 transcriptDiffStyles, 168 transcriptQuestionStyles, 169 transcriptCodeStyles,