Skip to main content
Glama
styles.css7.77 kB
/** * Living Reports - Quarto Stylesheet * * Professional styling for Quarto-rendered reports. * This file is copied to the report directory during render. * * Design principles: * - Tufte CSS-inspired typography * - Optimal reading width (65ch for prose) * - Professional table styling with tabular figures * - Accessible color contrast (WCAG AA) * - Print-friendly output */ /* ============================================ Typography & Layout ============================================ */ body { font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; line-height: 1.75; color: #1e293b; max-width: 1200px; margin: 0 auto; padding: 2rem 3rem; } /* Constrain prose to optimal reading width */ p, li { max-width: 65ch; } h1, h2, h3, h4, h5, h6 { color: #0f172a; margin-top: 2rem; margin-bottom: 1rem; } h1 { font-size: 2.25rem; border-bottom: 2px solid #2563eb; padding-bottom: 0.5rem; } h2 { font-size: 1.75rem; border-bottom: 1px solid #e2e8f0; padding-bottom: 0.5rem; } h3 { font-size: 1.333rem; } /* ============================================ Tables - Professional Data Styling ============================================ */ table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; font-size: 0.9375rem; } thead { border-bottom: 2px solid #cbd5e1; } th { text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.8125rem; font-weight: 600; background: #f8fafc; padding: 0.875rem 1rem; text-align: left; color: #64748b; } td { padding: 0.875rem 1rem; border-bottom: 1px solid #e2e8f0; font-variant-numeric: tabular-nums; vertical-align: top; } /* Zebra striping */ tbody tr:nth-child(even) { background: #f8fafc; } /* Hover state */ tbody tr:hover { background: #f1f5f9; } /* Right-align numeric columns when marked */ td.numeric, th.numeric { text-align: right; } /* ============================================ Callouts & Insights ============================================ */ .callout { border-left: 4px solid #2563eb; background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%); padding: 1rem 1.5rem; border-radius: 0 0.5rem 0.5rem 0; margin: 1.5rem 0; } .callout-note { border-left-color: #2563eb; background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%); } .callout-warning { border-left-color: #f59e0b; background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%); } .callout-important { border-left-color: #dc2626; background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%); } .callout-tip { border-left-color: #22c55e; background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%); } /* ============================================ Code Blocks ============================================ */ pre { background: #1e293b; color: #e2e8f0; padding: 1rem 1.25rem; border-radius: 0.5rem; overflow-x: auto; font-size: 0.875rem; line-height: 1.6; margin: 1rem 0; } code { font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Code', monospace; font-size: 0.875rem; } :not(pre) > code { background: #f1f5f9; padding: 0.125rem 0.375rem; border-radius: 0.25rem; } /* ============================================ Blockquotes ============================================ */ blockquote { border-left: 4px solid #cbd5e1; margin: 1.5rem 0; padding: 0.75rem 1.25rem; background: #f8fafc; border-radius: 0 0.25rem 0.25rem 0; color: #64748b; font-style: italic; } blockquote p { margin: 0; } /* ============================================ Lists ============================================ */ ul, ol { margin-left: 2rem; margin-bottom: 1rem; } li { margin-bottom: 0.375rem; } /* Nested lists */ li > ul, li > ol { margin-top: 0.5rem; margin-bottom: 0.5rem; } /* ============================================ Links ============================================ */ a { color: #2563eb; text-decoration: none; } a:hover { text-decoration: underline; } /* ============================================ Images & Figures ============================================ */ img { max-width: 100%; height: auto; border-radius: 0.5rem; } figure { margin: 1.5rem 0; text-align: center; } figcaption { font-size: 0.875rem; color: #64748b; margin-top: 0.5rem; font-style: italic; } /* ============================================ Dark Mode ============================================ */ @media (prefers-color-scheme: dark) { body { background: #0f172a; color: #f1f5f9; } h1, h2, h3, h4, h5, h6 { color: #f1f5f9; } h1 { border-bottom-color: #3b82f6; } h2 { border-bottom-color: #334155; } th { background: #1e293b; color: #94a3b8; } td { border-bottom-color: #334155; } tbody tr:nth-child(even) { background: #1e293b; } tbody tr:hover { background: #334155; } .callout { background: linear-gradient(135deg, #0c4a6e 0%, #082f49 100%); } .callout-warning { background: linear-gradient(135deg, #422006 0%, #451a03 100%); } .callout-important { background: linear-gradient(135deg, #450a0a 0%, #7f1d1d 100%); } .callout-tip { background: linear-gradient(135deg, #052e16 0%, #14532d 100%); } pre { background: #0f172a; border: 1px solid #334155; } :not(pre) > code { background: #1e293b; } blockquote { background: #1e293b; border-left-color: #475569; } } /* ============================================ Print Styles ============================================ */ @media print { body { max-width: none; padding: 1rem; font-size: 11pt; line-height: 1.5; color: #000; background: #fff; } h1, h2, h3, h4, h5, h6 { color: #000; page-break-after: avoid; } h1 { border-bottom-color: #333; } h2 { border-bottom-color: #666; } table { page-break-inside: avoid; font-size: 10pt; } th { background: #f5f5f5 !important; color: #333; -webkit-print-color-adjust: exact; print-color-adjust: exact; } tbody tr:nth-child(even) { background: #f5f5f5 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; } .callout { background: #f5f5f5 !important; border-left-color: #333 !important; page-break-inside: avoid; -webkit-print-color-adjust: exact; print-color-adjust: exact; } pre { background: #f5f5f5 !important; color: #333 !important; border: 1px solid #ccc; page-break-inside: avoid; } a { color: inherit; text-decoration: none; } a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 0.8em; color: #666; } /* Hide navigation elements */ .toc, .sidebar, nav { display: none !important; } } /* ============================================ Responsive Design ============================================ */ @media (max-width: 768px) { body { padding: 1rem 1.5rem; } h1 { font-size: 1.75rem; } h2 { font-size: 1.5rem; } table { font-size: 0.875rem; } th, td { padding: 0.5rem 0.75rem; } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Evan-Kim2028/igloo-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server