/* Markdown Viewer — Tooltip Styles * Version: 2.4.5 * Author: Mikhail Deynekin * Site: https://Deynekin.com * Email: Mikhail@Deynekin.com * * Theme: CSS variables + [data-theme] attribute * Accessibility: WCAG 2.2 AA compliant * Performance: Minimized duplication, color-mix() for transparency */ :root { color-scheme: light; } html[data-theme="dark"] { color-scheme: dark; } body { margin: 0; font-family: Inter, system-ui, sans-serif; } .code-block-wrapper pre { scrollbar-width: thin; scrollbar-color: #475569 transparent; } .code-block-wrapper pre::-webkit-scrollbar { height: 8px; } .code-block-wrapper pre::-webkit-scrollbar-track { background: transparent; } .code-block-wrapper pre::-webkit-scrollbar-thumb { background-color: #475569; border-radius: 4px; } .code-block-wrapper pre::-webkit-scrollbar-thumb:hover { background-color: #64748b; } .copy-btn .copy-icon, .copy-btn .check-icon { transition: opacity 0.2s ease, transform 0.2s ease; } .copy-btn:active:not(:disabled) { transform: scale(0.95); } /* File browser row hover effect */ .file-row:hover td { background-color: rgba(59, 130, 246, 0.05); } html[data-theme="dark"] .file-row:hover td { background-color: rgba(59, 130, 246, 0.1); } /* Sort indicator states */ th.sortable.asc .sort-ind::after { content: ' ↑'; color: #3b82f6; } th.sortable.desc .sort-ind::after { content: ' ↓'; color: #3b82f6; } th.sortable .sort-ind::after { content: ' ⇅'; } /* Hidden rows (search filter) */ .file-row.filtered-out { display: none; } /* No results message */ #no-results-msg { display: none; } #viewer { width: 100%; } #viewer > .markdown-body, #viewer > .toc, #viewer .markdown-body { max-width: none; width: 100%; } .markdown-body { line-height: 1.1; max-width: none; width: 100%; } .toc ul { line-height: 1; max-width: none; } /* ── Glossary tooltip (v2.4.0) ── */ .glossary-term, [data-sp-tip] { border-bottom: 1.5px dashed #60a5fa; cursor: help; position: relative; transition: border-color 0.15s; } html[data-theme="dark"] .glossary-term, html[data-theme="dark"] [data-sp-tip] { border-color: #3b82f6; } .glossary-term:hover, [data-sp-tip]:hover { border-color: #2563eb; } /* Floating tooltip bubble */ .g-tooltip { position: fixed; z-index: 10100; max-width: min(420px, calc(100vw - 24px)); background: #fff; border: 1px solid #e2e8f0; border-radius: 14px; box-shadow: 0 16px 48px rgba(15,23,42,0.16), 0 2px 8px rgba(15,23,42,0.08); padding: 14px 18px; font-size: 0.82rem; line-height: 1.55; color: #334155; pointer-events: auto; opacity: 0; transform: translateY(6px); transition: opacity 0.18s ease, transform 0.18s ease; } html[data-theme="dark"] .g-tooltip { background: #1e293b; border-color: #334155; color: #cbd5e1; box-shadow: 0 16px 48px rgba(0,0,0,0.45), 0 2px 8px rgba(0,0,0,0.3); } .g-tooltip.visible { opacity: 1; transform: translateY(0); } .g-tooltip-row { margin-bottom: 8px; } .g-tooltip-row:last-child { margin-bottom: 0; } .g-tooltip-label { font-weight: 600; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.1em; color: #94a3b8; margin-bottom: 3px; } html[data-theme="dark"] .g-tooltip-label { color: #64748b; } .g-tooltip-val { color: #1e293b; } html[data-theme="dark"] .g-tooltip-val { color: #e2e8f0; } /* ── Tooltip header (v2.4.3) — full first-column cell content ── */ .g-tooltip-header { font-weight: 700; font-size: 0.85rem; color: #0f172a; line-height: 1.4; padding-bottom: 8px; margin-bottom: 8px; border-bottom: 1px solid rgba(148,163,184,0.25); word-break: break-word; } html[data-theme="dark"] .g-tooltip-header { color: #f1f5f9; border-bottom-color: rgba(71,85,105,0.4); }