439 lines
11 KiB
CSS
439 lines
11 KiB
CSS
|
|
/* Custom CSS for General Bots Documentation */
|
||
|
|
|
||
|
|
/* ============================================
|
||
|
|
BASIC Syntax Highlighting
|
||
|
|
============================================ */
|
||
|
|
|
||
|
|
/* BASIC code blocks - use ```basic or ```bas */
|
||
|
|
pre code.language-basic,
|
||
|
|
pre code.language-bas,
|
||
|
|
pre code.hljs.language-basic,
|
||
|
|
pre code.hljs.language-bas {
|
||
|
|
color: #333;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Dark theme BASIC */
|
||
|
|
.ayu pre code.language-basic,
|
||
|
|
.ayu pre code.language-bas,
|
||
|
|
.coal pre code.language-basic,
|
||
|
|
.coal pre code.language-bas,
|
||
|
|
.navy pre code.language-basic,
|
||
|
|
.navy pre code.language-bas {
|
||
|
|
color: #e6e6e6;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* BASIC Keywords - TALK, HEAR, SET, GET, USE, etc. */
|
||
|
|
pre code.language-basic .hljs-keyword,
|
||
|
|
pre code.language-bas .hljs-keyword {
|
||
|
|
color: #0033b3;
|
||
|
|
font-weight: bold;
|
||
|
|
}
|
||
|
|
|
||
|
|
.ayu pre code.language-basic .hljs-keyword,
|
||
|
|
.coal pre code.language-basic .hljs-keyword,
|
||
|
|
.navy pre code.language-basic .hljs-keyword {
|
||
|
|
color: #ff7b72;
|
||
|
|
font-weight: bold;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* BASIC Strings */
|
||
|
|
pre code.language-basic .hljs-string,
|
||
|
|
pre code.language-bas .hljs-string {
|
||
|
|
color: #067d17;
|
||
|
|
}
|
||
|
|
|
||
|
|
.ayu pre code.language-basic .hljs-string,
|
||
|
|
.coal pre code.language-basic .hljs-string,
|
||
|
|
.navy pre code.language-basic .hljs-string {
|
||
|
|
color: #a5d6ff;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* BASIC Comments (REM or ') */
|
||
|
|
pre code.language-basic .hljs-comment,
|
||
|
|
pre code.language-bas .hljs-comment {
|
||
|
|
color: #8c8c8c;
|
||
|
|
font-style: italic;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* BASIC Numbers */
|
||
|
|
pre code.language-basic .hljs-number,
|
||
|
|
pre code.language-bas .hljs-number {
|
||
|
|
color: #1750eb;
|
||
|
|
}
|
||
|
|
|
||
|
|
.ayu pre code.language-basic .hljs-number,
|
||
|
|
.coal pre code.language-basic .hljs-number,
|
||
|
|
.navy pre code.language-basic .hljs-number {
|
||
|
|
color: #79c0ff;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* BASIC Built-in functions */
|
||
|
|
pre code.language-basic .hljs-built_in,
|
||
|
|
pre code.language-bas .hljs-built_in {
|
||
|
|
color: #8250df;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* BASIC Variables */
|
||
|
|
pre code.language-basic .hljs-variable,
|
||
|
|
pre code.language-bas .hljs-variable {
|
||
|
|
color: #953800;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Custom BASIC keyword highlighting via regex patterns */
|
||
|
|
/* Primary keywords: TALK, HEAR, SET, GET */
|
||
|
|
pre code.language-basic,
|
||
|
|
pre code.language-bas {
|
||
|
|
/* Highlight BASIC keywords that may not be recognized */
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Standardized code block styling */
|
||
|
|
pre code {
|
||
|
|
font-family: "JetBrains Mono", "Fira Code", "Source Code Pro", monospace;
|
||
|
|
font-size: 0.9em;
|
||
|
|
line-height: 1.5;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Code block container */
|
||
|
|
pre {
|
||
|
|
border-radius: 6px;
|
||
|
|
padding: 1em;
|
||
|
|
overflow-x: auto;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Light theme code blocks */
|
||
|
|
.light pre,
|
||
|
|
.rust pre {
|
||
|
|
background-color: #f6f8fa;
|
||
|
|
border: 1px solid #d0d7de;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Dark theme code blocks */
|
||
|
|
.ayu pre,
|
||
|
|
.coal pre,
|
||
|
|
.navy pre {
|
||
|
|
background-color: #161b22;
|
||
|
|
border: 1px solid #30363d;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* ============================================
|
||
|
|
WhatsApp-style Chat CSS for Conversation Examples
|
||
|
|
============================================ */
|
||
|
|
|
||
|
|
/* Chat Container */
|
||
|
|
.wa-chat {
|
||
|
|
background-color: #e5ddd5;
|
||
|
|
background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M54.627 0l.83.828-1.415 1.415L51.8 0h2.827zM5.373 0l-.83.828L5.96 2.243 8.2 0H5.374zM48.97 0l3.657 3.657-1.414 1.414L46.143 0h2.828zM11.03 0L7.372 3.657 8.787 5.07 13.857 0H11.03zm32.284 0L49.8 6.485 48.384 7.9l-7.9-7.9h2.83zM16.686 0L10.2 6.485 11.616 7.9l7.9-7.9h-2.83zM22.343 0L13.857 8.485 15.272 9.9l9.9-9.9h-2.83zM32 0l-3.486 3.485-1.414-1.414L30.172 0H32zM0 5.373l.828-.83 1.415 1.415L0 8.2V5.374zm0 5.656l.828-.829 5.657 5.657-1.414 1.414L0 11.03v2.828zm0 5.656l.828-.828 8.485 8.485-1.414 1.414L0 16.686v2.83zm0 5.657l.828-.828 11.314 11.314-1.414 1.414L0 22.343v2.83zM0 32l.828-.828 14.142 14.142-1.414 1.414L0 32.172V32z' fill='%23c5c5c5' fill-opacity='0.1' fill-rule='evenodd'/%3E%3C/svg%3E");
|
||
|
|
border-radius: 8px;
|
||
|
|
padding: 20px 15px;
|
||
|
|
margin: 20px 0;
|
||
|
|
max-width: 600px;
|
||
|
|
font-family:
|
||
|
|
-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial,
|
||
|
|
sans-serif;
|
||
|
|
font-size: 14px;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Dark theme chat container */
|
||
|
|
.coal .wa-chat,
|
||
|
|
.navy .wa-chat,
|
||
|
|
.ayu .wa-chat {
|
||
|
|
background-color: #0b141a;
|
||
|
|
background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M54.627 0l.83.828-1.415 1.415L51.8 0h2.827zM5.373 0l-.83.828L5.96 2.243 8.2 0H5.374zM48.97 0l3.657 3.657-1.414 1.414L46.143 0h2.828zM11.03 0L7.372 3.657 8.787 5.07 13.857 0H11.03zm32.284 0L49.8 6.485 48.384 7.9l-7.9-7.9h2.83zM16.686 0L10.2 6.485 11.616 7.9l7.9-7.9h-2.83zM22.343 0L13.857 8.485 15.272 9.9l9.9-9.9h-2.83zM32 0l-3.486 3.485-1.414-1.414L30.172 0H32zM0 5.373l.828-.83 1.415 1.415L0 8.2V5.374zm0 5.656l.828-.829 5.657 5.657-1.414 1.414L0 11.03v2.828zm0 5.656l.828-.828 8.485 8.485-1.414 1.414L0 16.686v2.83zm0 5.657l.828-.828 11.314 11.314-1.414 1.414L0 22.343v2.83zM0 32l.828-.828 14.142 14.142-1.414 1.414L0 32.172V32z' fill='%23ffffff' fill-opacity='0.05' fill-rule='evenodd'/%3E%3C/svg%3E");
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Message Bubbles */
|
||
|
|
.wa-message {
|
||
|
|
clear: both;
|
||
|
|
margin-bottom: 10px;
|
||
|
|
max-width: 85%;
|
||
|
|
}
|
||
|
|
|
||
|
|
.wa-message.user {
|
||
|
|
float: right;
|
||
|
|
}
|
||
|
|
|
||
|
|
.wa-message.bot {
|
||
|
|
float: left;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* User Bubbles */
|
||
|
|
.wa-message.user .wa-bubble {
|
||
|
|
background-color: #dcf8c6;
|
||
|
|
border-radius: 8px 0 8px 8px;
|
||
|
|
margin-left: 40px;
|
||
|
|
}
|
||
|
|
|
||
|
|
.coal .wa-message.user .wa-bubble,
|
||
|
|
.navy .wa-message.user .wa-bubble,
|
||
|
|
.ayu .wa-message.user .wa-bubble {
|
||
|
|
background-color: #005c4b;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Bot Bubbles */
|
||
|
|
.wa-message.bot .wa-bubble {
|
||
|
|
background-color: #ffffff;
|
||
|
|
border-radius: 0 8px 8px 8px;
|
||
|
|
margin-right: 40px;
|
||
|
|
}
|
||
|
|
|
||
|
|
.coal .wa-message.bot .wa-bubble,
|
||
|
|
.navy .wa-message.bot .wa-bubble,
|
||
|
|
.ayu .wa-message.bot .wa-bubble {
|
||
|
|
background-color: #202c33;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Bubble Content */
|
||
|
|
.wa-bubble {
|
||
|
|
padding: 8px 12px;
|
||
|
|
box-shadow: 0 1px 0.5px rgba(0, 0, 0, 0.13);
|
||
|
|
}
|
||
|
|
|
||
|
|
.wa-bubble p {
|
||
|
|
margin: 0 0 4px 0;
|
||
|
|
line-height: 1.4;
|
||
|
|
color: #303030;
|
||
|
|
}
|
||
|
|
|
||
|
|
.wa-bubble p:last-child {
|
||
|
|
margin-bottom: 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
.coal .wa-bubble p,
|
||
|
|
.navy .wa-bubble p,
|
||
|
|
.ayu .wa-bubble p {
|
||
|
|
color: #e9edef;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Timestamp */
|
||
|
|
.wa-time {
|
||
|
|
font-size: 11px;
|
||
|
|
color: #8696a0;
|
||
|
|
text-align: right;
|
||
|
|
margin-top: 4px;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Clear float */
|
||
|
|
.wa-chat::after {
|
||
|
|
content: "";
|
||
|
|
display: table;
|
||
|
|
clear: both;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* ============================================
|
||
|
|
SVG Text Rendering Fixes
|
||
|
|
============================================ */
|
||
|
|
|
||
|
|
/* CSS Custom Properties that can be injected into SVG documents */
|
||
|
|
:root {
|
||
|
|
--svg-main-text-color: #1a1a1a;
|
||
|
|
--svg-secondary-text-color: #666;
|
||
|
|
--svg-arrow-color: #666;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Force black text in light/rust themes */
|
||
|
|
.light,
|
||
|
|
.rust {
|
||
|
|
--svg-main-text-color: #1a1a1a !important;
|
||
|
|
--svg-secondary-text-color: #666 !important;
|
||
|
|
--svg-arrow-color: #666 !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Dark theme overrides */
|
||
|
|
.ayu,
|
||
|
|
.coal,
|
||
|
|
.navy,
|
||
|
|
.dark,
|
||
|
|
.theme--dark {
|
||
|
|
--svg-main-text-color: #ffffff !important;
|
||
|
|
--svg-secondary-text-color: #b0b0b0 !important;
|
||
|
|
--svg-arrow-color: #b0b0b0 !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* For inline SVGs - direct styling */
|
||
|
|
.light svg .main-text,
|
||
|
|
.rust svg .main-text {
|
||
|
|
fill: #1a1a1a !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
.light svg .secondary-text,
|
||
|
|
.rust svg .secondary-text {
|
||
|
|
fill: #666 !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
.light svg .arrow-head,
|
||
|
|
.rust svg .arrow-head {
|
||
|
|
fill: #666 !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
.light svg .arrow-line,
|
||
|
|
.rust svg .arrow-line {
|
||
|
|
stroke: #666 !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Dark theme inline SVG overrides */
|
||
|
|
.ayu svg .main-text,
|
||
|
|
.coal svg .main-text,
|
||
|
|
.navy svg .main-text,
|
||
|
|
.dark svg .main-text,
|
||
|
|
.theme--dark svg .main-text {
|
||
|
|
fill: #ffffff !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
.ayu svg .secondary-text,
|
||
|
|
.coal svg .secondary-text,
|
||
|
|
.navy svg .secondary-text,
|
||
|
|
.dark svg .secondary-text,
|
||
|
|
.theme--dark svg .secondary-text {
|
||
|
|
fill: #b0b0b0 !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
.ayu svg .arrow-head,
|
||
|
|
.coal svg .arrow-head,
|
||
|
|
.navy svg .arrow-head,
|
||
|
|
.dark svg .arrow-head,
|
||
|
|
.theme--dark svg .arrow-head {
|
||
|
|
fill: #b0b0b0 !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
.ayu svg .arrow-line,
|
||
|
|
.coal svg .arrow-line,
|
||
|
|
.navy svg .arrow-line,
|
||
|
|
.dark svg .arrow-line,
|
||
|
|
.theme--dark svg .arrow-line {
|
||
|
|
stroke: #b0b0b0 !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Object element styling for better SVG integration */
|
||
|
|
object[type="image/svg+xml"] {
|
||
|
|
display: block;
|
||
|
|
max-width: 100%;
|
||
|
|
height: auto;
|
||
|
|
pointer-events: none; /* Prevent interaction issues */
|
||
|
|
background: transparent !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Ensure object fallback images are hidden when object loads */
|
||
|
|
object[type="image/svg+xml"] img {
|
||
|
|
display: none;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Ensure SVG containers have transparent background */
|
||
|
|
.content object,
|
||
|
|
.content img[src$=".svg"] {
|
||
|
|
background: transparent !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Remove any background from SVG wrappers */
|
||
|
|
.content > div:has(object[type="image/svg+xml"]) {
|
||
|
|
background: transparent !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Fix for mdBook's content area */
|
||
|
|
.content object[type="image/svg+xml"] {
|
||
|
|
margin: 1em 0;
|
||
|
|
background-color: transparent !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Override any mdBook theme backgrounds for SVG areas */
|
||
|
|
.rust .content object[type="image/svg+xml"],
|
||
|
|
.light .content object[type="image/svg+xml"],
|
||
|
|
.coal .content object[type="image/svg+xml"],
|
||
|
|
.navy .content object[type="image/svg+xml"],
|
||
|
|
.ayu .content object[type="image/svg+xml"] {
|
||
|
|
background-color: transparent !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Inject CSS variables into object document via JavaScript */
|
||
|
|
.light object[type="image/svg+xml"],
|
||
|
|
.rust object[type="image/svg+xml"] {
|
||
|
|
color-scheme: light;
|
||
|
|
}
|
||
|
|
|
||
|
|
.ayu object[type="image/svg+xml"],
|
||
|
|
.coal object[type="image/svg+xml"],
|
||
|
|
.navy object[type="image/svg+xml"],
|
||
|
|
.dark object[type="image/svg+xml"] {
|
||
|
|
color-scheme: dark;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Additional mdBook theme detection */
|
||
|
|
body:not([class*="theme"]) svg .main-text,
|
||
|
|
body:not([class*="ayu"]):not([class*="coal"]):not([class*="navy"])
|
||
|
|
svg
|
||
|
|
.main-text {
|
||
|
|
fill: var(--svg-main-text-color, #1a1a1a) !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
body:not([class*="theme"]) svg .secondary-text,
|
||
|
|
body:not([class*="ayu"]):not([class*="coal"]):not([class*="navy"])
|
||
|
|
svg
|
||
|
|
.secondary-text {
|
||
|
|
fill: var(--svg-secondary-text-color, #666) !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
body:not([class*="theme"]) svg .arrow-head,
|
||
|
|
body:not([class*="ayu"]):not([class*="coal"]):not([class*="navy"])
|
||
|
|
svg
|
||
|
|
.arrow-head {
|
||
|
|
fill: var(--svg-arrow-color, #666) !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
body:not([class*="theme"]) svg .arrow-line,
|
||
|
|
body:not([class*="ayu"]):not([class*="coal"]):not([class*="navy"])
|
||
|
|
svg
|
||
|
|
.arrow-line {
|
||
|
|
stroke: var(--svg-arrow-color, #666) !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Print styles */
|
||
|
|
@media print {
|
||
|
|
svg .main-text {
|
||
|
|
fill: #1a1a1a !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
svg .secondary-text {
|
||
|
|
fill: #666 !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
svg .arrow-head {
|
||
|
|
fill: #666 !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
svg .arrow-line {
|
||
|
|
stroke: #666 !important;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Accessibility improvements */
|
||
|
|
@media (prefers-contrast: high) {
|
||
|
|
svg .main-text {
|
||
|
|
fill: #000000 !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
.dark svg .main-text,
|
||
|
|
.ayu svg .main-text,
|
||
|
|
.coal svg .main-text,
|
||
|
|
.navy svg .main-text {
|
||
|
|
fill: #ffffff !important;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Custom scrollbar for SVG containers if needed */
|
||
|
|
object[type="image/svg+xml"]::-webkit-scrollbar {
|
||
|
|
width: 8px;
|
||
|
|
height: 8px;
|
||
|
|
}
|
||
|
|
|
||
|
|
object[type="image/svg+xml"]::-webkit-scrollbar-track {
|
||
|
|
background: transparent;
|
||
|
|
}
|
||
|
|
|
||
|
|
object[type="image/svg+xml"]::-webkit-scrollbar-thumb {
|
||
|
|
background: rgba(0, 0, 0, 0.2);
|
||
|
|
border-radius: 4px;
|
||
|
|
}
|
||
|
|
|
||
|
|
.dark object[type="image/svg+xml"]::-webkit-scrollbar-thumb {
|
||
|
|
background: rgba(255, 255, 255, 0.2);
|
||
|
|
}
|