|
@@ -0,0 +1,995 @@
|
|
|
|
|
+/* ==========================================================================
|
|
|
|
|
+ Documentation Site CSS Theme
|
|
|
|
|
+ A clean, minimal theme for documentation sites
|
|
|
|
|
+ ========================================================================== */
|
|
|
|
|
+
|
|
|
|
|
+/* ==========================================================================
|
|
|
|
|
+ CSS Custom Properties (Variables)
|
|
|
|
|
+ ========================================================================== */
|
|
|
|
|
+
|
|
|
|
|
+:root {
|
|
|
|
|
+ /* Colors - Light Mode */
|
|
|
|
|
+ --color-background: #ffffff;
|
|
|
|
|
+ --color-sidebar-bg: #f8f9fa;
|
|
|
|
|
+ --color-text: #24292f;
|
|
|
|
|
+ --color-text-muted: #57606a;
|
|
|
|
|
+ --color-primary: #0969da;
|
|
|
|
|
+ --color-primary-hover: #0550ae;
|
|
|
|
|
+ --color-border: #d0d7de;
|
|
|
|
|
+ --color-code-bg: #f6f8fa;
|
|
|
|
|
+ --color-code-border: #d0d7de;
|
|
|
|
|
+ --color-table-header-bg: #f6f8fa;
|
|
|
|
|
+ --color-blockquote-border: #d0d7de;
|
|
|
|
|
+ --color-blockquote-bg: #f6f8fa;
|
|
|
|
|
+ --color-hover-bg: #eaeef2;
|
|
|
|
|
+ --color-active-bg: #ddf4ff;
|
|
|
|
|
+ --color-active-border: #0969da;
|
|
|
|
|
+
|
|
|
|
|
+ /* Layout */
|
|
|
|
|
+ --sidebar-width: 280px;
|
|
|
|
|
+ --content-max-width: 800px;
|
|
|
|
|
+ --sidebar-padding: 1.5rem;
|
|
|
|
|
+ --content-padding: 2rem;
|
|
|
|
|
+
|
|
|
|
|
+ /* Typography */
|
|
|
|
|
+ --font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
|
|
|
|
|
+ --font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
|
|
|
|
|
+ --font-size-base: 16px;
|
|
|
|
|
+ --font-size-small: 0.875rem;
|
|
|
|
|
+ --font-size-smaller: 0.75rem;
|
|
|
|
|
+ --line-height-base: 1.65;
|
|
|
|
|
+ --line-height-heading: 1.25;
|
|
|
|
|
+
|
|
|
|
|
+ /* Spacing */
|
|
|
|
|
+ --spacing-xs: 0.25rem;
|
|
|
|
|
+ --spacing-sm: 0.5rem;
|
|
|
|
|
+ --spacing-md: 1rem;
|
|
|
|
|
+ --spacing-lg: 1.5rem;
|
|
|
|
|
+ --spacing-xl: 2rem;
|
|
|
|
|
+ --spacing-xxl: 3rem;
|
|
|
|
|
+
|
|
|
|
|
+ /* Transitions */
|
|
|
|
|
+ --transition-fast: 150ms ease;
|
|
|
|
|
+ --transition-normal: 250ms ease;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* ==========================================================================
|
|
|
|
|
+ Base Reset & Typography
|
|
|
|
|
+ ========================================================================== */
|
|
|
|
|
+
|
|
|
|
|
+*,
|
|
|
|
|
+*::before,
|
|
|
|
|
+*::after {
|
|
|
|
|
+ box-sizing: border-box;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+html {
|
|
|
|
|
+ font-size: var(--font-size-base);
|
|
|
|
|
+ scroll-behavior: smooth;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+body {
|
|
|
|
|
+ margin: 0;
|
|
|
|
|
+ padding: 0;
|
|
|
|
|
+ font-family: var(--font-family);
|
|
|
|
|
+ font-size: 1rem;
|
|
|
|
|
+ line-height: var(--line-height-base);
|
|
|
|
|
+ color: var(--color-text);
|
|
|
|
|
+ background-color: var(--color-background);
|
|
|
|
|
+ -webkit-font-smoothing: antialiased;
|
|
|
|
|
+ -moz-osx-font-smoothing: grayscale;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* Headings */
|
|
|
|
|
+h1, h2, h3, h4, h5, h6 {
|
|
|
|
|
+ margin: var(--spacing-xxl) 0 var(--spacing-md);
|
|
|
|
|
+ font-weight: 600;
|
|
|
|
|
+ line-height: var(--line-height-heading);
|
|
|
|
|
+ color: var(--color-text);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+h1 {
|
|
|
|
|
+ font-size: 2rem;
|
|
|
|
|
+ padding-bottom: var(--spacing-md);
|
|
|
|
|
+ border-bottom: 1px solid var(--color-border);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+h2 {
|
|
|
|
|
+ font-size: 1.5rem;
|
|
|
|
|
+ padding-bottom: var(--spacing-sm);
|
|
|
|
|
+ border-bottom: 1px solid var(--color-border);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+h3 {
|
|
|
|
|
+ font-size: 1.25rem;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+h4 {
|
|
|
|
|
+ font-size: 1.125rem;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+h5 {
|
|
|
|
|
+ font-size: 1rem;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+h6 {
|
|
|
|
|
+ font-size: var(--font-size-small);
|
|
|
|
|
+ color: var(--color-text-muted);
|
|
|
|
|
+ text-transform: uppercase;
|
|
|
|
|
+ letter-spacing: 0.05em;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* First heading should not have top margin */
|
|
|
|
|
+h1:first-child,
|
|
|
|
|
+h2:first-child,
|
|
|
|
|
+h3:first-child {
|
|
|
|
|
+ margin-top: 0;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* Paragraphs */
|
|
|
|
|
+p {
|
|
|
|
|
+ margin: var(--spacing-md) 0;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* ==========================================================================
|
|
|
|
|
+ Layout
|
|
|
|
|
+ ========================================================================== */
|
|
|
|
|
+
|
|
|
|
|
+.docs-container {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ min-height: 100vh;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* Sidebar Navigation */
|
|
|
|
|
+.docs-sidebar {
|
|
|
|
|
+ position: fixed;
|
|
|
|
|
+ top: 0;
|
|
|
|
|
+ left: 0;
|
|
|
|
|
+ width: var(--sidebar-width);
|
|
|
|
|
+ height: 100vh;
|
|
|
|
|
+ background-color: var(--color-sidebar-bg);
|
|
|
|
|
+ border-right: 1px solid var(--color-border);
|
|
|
|
|
+ overflow-y: auto;
|
|
|
|
|
+ padding: var(--sidebar-padding);
|
|
|
|
|
+ z-index: 100;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.docs-sidebar-header {
|
|
|
|
|
+ padding-bottom: var(--spacing-md);
|
|
|
|
|
+ margin-bottom: var(--spacing-md);
|
|
|
|
|
+ border-bottom: 1px solid var(--color-border);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.docs-sidebar-logo {
|
|
|
|
|
+ font-size: 1.25rem;
|
|
|
|
|
+ font-weight: 600;
|
|
|
|
|
+ color: var(--color-text);
|
|
|
|
|
+ text-decoration: none;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.docs-sidebar-logo:hover {
|
|
|
|
|
+ color: var(--color-primary);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* Main Content Area */
|
|
|
|
|
+.docs-main {
|
|
|
|
|
+ margin-left: var(--sidebar-width);
|
|
|
|
|
+ flex: 1;
|
|
|
|
|
+ min-width: 0;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.docs-content {
|
|
|
|
|
+ max-width: var(--content-max-width);
|
|
|
|
|
+ margin: 0 auto;
|
|
|
|
|
+ padding: var(--content-padding);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* ==========================================================================
|
|
|
|
|
+ Navigation Sidebar
|
|
|
|
|
+ ========================================================================== */
|
|
|
|
|
+
|
|
|
|
|
+/* NavSidebarComponent styles */
|
|
|
|
|
+.nav-sidebar {
|
|
|
|
|
+ position: fixed;
|
|
|
|
|
+ top: 0;
|
|
|
|
|
+ left: 0;
|
|
|
|
|
+ width: var(--sidebar-width);
|
|
|
|
|
+ height: 100vh;
|
|
|
|
|
+ background-color: var(--color-sidebar-bg);
|
|
|
|
|
+ border-right: 1px solid var(--color-border);
|
|
|
|
|
+ overflow-y: auto;
|
|
|
|
|
+ padding: var(--sidebar-padding);
|
|
|
|
|
+ z-index: 100;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.nav-section {
|
|
|
|
|
+ margin-bottom: var(--spacing-md);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.nav-section-header {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ justify-content: space-between;
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ padding: var(--spacing-sm) var(--spacing-md);
|
|
|
|
|
+ font-family: var(--font-family);
|
|
|
|
|
+ font-size: var(--font-size-small);
|
|
|
|
|
+ font-weight: 600;
|
|
|
|
|
+ color: var(--color-text);
|
|
|
|
|
+ text-transform: uppercase;
|
|
|
|
|
+ letter-spacing: 0.05em;
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ background: none;
|
|
|
|
|
+ border: none;
|
|
|
|
|
+ border-radius: 4px;
|
|
|
|
|
+ transition: background-color var(--transition-fast);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.nav-section-header:hover {
|
|
|
|
|
+ background-color: var(--color-hover-bg);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.nav-section.expanded .nav-section-header {
|
|
|
|
|
+ background-color: var(--color-hover-bg);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.nav-items {
|
|
|
|
|
+ list-style: none;
|
|
|
|
|
+ margin: 0;
|
|
|
|
|
+ padding: 0;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.nav-item {
|
|
|
|
|
+ display: block;
|
|
|
|
|
+ padding: var(--spacing-sm) var(--spacing-md);
|
|
|
|
|
+ color: var(--color-text-muted);
|
|
|
|
|
+ text-decoration: none;
|
|
|
|
|
+ font-size: var(--font-size-small);
|
|
|
|
|
+ border-radius: 4px;
|
|
|
|
|
+ border-left: 3px solid transparent;
|
|
|
|
|
+ transition: all var(--transition-fast);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.nav-item:hover {
|
|
|
|
|
+ color: var(--color-text);
|
|
|
|
|
+ background-color: var(--color-hover-bg);
|
|
|
|
|
+ text-decoration: none;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.nav-item.active {
|
|
|
|
|
+ color: var(--color-primary);
|
|
|
|
|
+ background-color: var(--color-active-bg);
|
|
|
|
|
+ border-left-color: var(--color-active-border);
|
|
|
|
|
+ font-weight: 500;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.docs-nav {
|
|
|
|
|
+ list-style: none;
|
|
|
|
|
+ margin: 0;
|
|
|
|
|
+ padding: 0;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.docs-nav-section {
|
|
|
|
|
+ margin-bottom: var(--spacing-md);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.docs-nav-section-title {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ justify-content: space-between;
|
|
|
|
|
+ padding: var(--spacing-sm) var(--spacing-md);
|
|
|
|
|
+ font-size: var(--font-size-small);
|
|
|
|
|
+ font-weight: 600;
|
|
|
|
|
+ color: var(--color-text);
|
|
|
|
|
+ text-transform: uppercase;
|
|
|
|
|
+ letter-spacing: 0.05em;
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ background: none;
|
|
|
|
|
+ border: none;
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ text-align: left;
|
|
|
|
|
+ border-radius: 4px;
|
|
|
|
|
+ transition: background-color var(--transition-fast);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.docs-nav-section-title:hover {
|
|
|
|
|
+ background-color: var(--color-hover-bg);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.docs-nav-section-title::after {
|
|
|
|
|
+ content: "";
|
|
|
|
|
+ display: inline-block;
|
|
|
|
|
+ width: 6px;
|
|
|
|
|
+ height: 6px;
|
|
|
|
|
+ border-right: 2px solid currentColor;
|
|
|
|
|
+ border-bottom: 2px solid currentColor;
|
|
|
|
|
+ transform: rotate(-45deg);
|
|
|
|
|
+ transition: transform var(--transition-fast);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.docs-nav-section.collapsed .docs-nav-section-title::after {
|
|
|
|
|
+ transform: rotate(45deg);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.docs-nav-section.collapsed .docs-nav-items {
|
|
|
|
|
+ display: none;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.docs-nav-items {
|
|
|
|
|
+ list-style: none;
|
|
|
|
|
+ margin: 0;
|
|
|
|
|
+ padding: 0;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.docs-nav-item {
|
|
|
|
|
+ margin: 0;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.docs-nav-link {
|
|
|
|
|
+ display: block;
|
|
|
|
|
+ padding: var(--spacing-sm) var(--spacing-md);
|
|
|
|
|
+ color: var(--color-text-muted);
|
|
|
|
|
+ text-decoration: none;
|
|
|
|
|
+ font-size: var(--font-size-small);
|
|
|
|
|
+ border-radius: 4px;
|
|
|
|
|
+ border-left: 3px solid transparent;
|
|
|
|
|
+ transition: all var(--transition-fast);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.docs-nav-link:hover {
|
|
|
|
|
+ color: var(--color-text);
|
|
|
|
|
+ background-color: var(--color-hover-bg);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.docs-nav-link.active {
|
|
|
|
|
+ color: var(--color-primary);
|
|
|
|
|
+ background-color: var(--color-active-bg);
|
|
|
|
|
+ border-left-color: var(--color-active-border);
|
|
|
|
|
+ font-weight: 500;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* Nested navigation items */
|
|
|
|
|
+.docs-nav-items .docs-nav-items {
|
|
|
|
|
+ margin-left: var(--spacing-md);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.docs-nav-items .docs-nav-items .docs-nav-link {
|
|
|
|
|
+ padding-left: var(--spacing-lg);
|
|
|
|
|
+ font-size: calc(var(--font-size-small) - 0.0625rem);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* ==========================================================================
|
|
|
|
|
+ Links
|
|
|
|
|
+ ========================================================================== */
|
|
|
|
|
+
|
|
|
|
|
+a {
|
|
|
|
|
+ color: var(--color-primary);
|
|
|
|
|
+ text-decoration: none;
|
|
|
|
|
+ transition: color var(--transition-fast);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+a:hover {
|
|
|
|
|
+ color: var(--color-primary-hover);
|
|
|
|
|
+ text-decoration: underline;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+a:focus {
|
|
|
|
|
+ outline: 2px solid var(--color-primary);
|
|
|
|
|
+ outline-offset: 2px;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* ==========================================================================
|
|
|
|
|
+ Code Blocks
|
|
|
|
|
+ ========================================================================== */
|
|
|
|
|
+
|
|
|
|
|
+code {
|
|
|
|
|
+ font-family: var(--font-family-mono);
|
|
|
|
|
+ font-size: 0.9em;
|
|
|
|
|
+ padding: var(--spacing-xs) var(--spacing-sm);
|
|
|
|
|
+ background-color: var(--color-code-bg);
|
|
|
|
|
+ border-radius: 4px;
|
|
|
|
|
+ border: 1px solid var(--color-code-border);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* Inline code */
|
|
|
|
|
+p > code,
|
|
|
|
|
+li > code,
|
|
|
|
|
+td > code {
|
|
|
|
|
+ font-size: 0.85em;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* Block code */
|
|
|
|
|
+pre {
|
|
|
|
|
+ margin: var(--spacing-lg) 0;
|
|
|
|
|
+ padding: var(--spacing-md);
|
|
|
|
|
+ background-color: var(--color-code-bg);
|
|
|
|
|
+ border: 1px solid var(--color-code-border);
|
|
|
|
|
+ border-radius: 6px;
|
|
|
|
|
+ overflow-x: auto;
|
|
|
|
|
+ -webkit-overflow-scrolling: touch;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+pre code {
|
|
|
|
|
+ display: block;
|
|
|
|
|
+ padding: 0;
|
|
|
|
|
+ background: none;
|
|
|
|
|
+ border: none;
|
|
|
|
|
+ font-size: var(--font-size-small);
|
|
|
|
|
+ line-height: 1.5;
|
|
|
|
|
+ white-space: pre;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* Code block with language indicator */
|
|
|
|
|
+pre[data-lang] {
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+pre[data-lang]::before {
|
|
|
|
|
+ content: attr(data-lang);
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ top: var(--spacing-sm);
|
|
|
|
|
+ right: var(--spacing-sm);
|
|
|
|
|
+ font-size: var(--font-size-smaller);
|
|
|
|
|
+ color: var(--color-text-muted);
|
|
|
|
|
+ text-transform: uppercase;
|
|
|
|
|
+ font-family: var(--font-family);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* Syntax highlighting base colors (for use with highlighters like Prism.js) */
|
|
|
|
|
+.token.comment,
|
|
|
|
|
+.token.prolog,
|
|
|
|
|
+.token.doctype,
|
|
|
|
|
+.token.cdata {
|
|
|
|
|
+ color: var(--color-text-muted);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.token.punctuation {
|
|
|
|
|
+ color: var(--color-text);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.token.property,
|
|
|
|
|
+.token.tag,
|
|
|
|
|
+.token.boolean,
|
|
|
|
|
+.token.number,
|
|
|
|
|
+.token.constant,
|
|
|
|
|
+.token.symbol {
|
|
|
|
|
+ color: #0550ae;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.token.selector,
|
|
|
|
|
+.token.attr-name,
|
|
|
|
|
+.token.string,
|
|
|
|
|
+.token.char,
|
|
|
|
|
+.token.builtin {
|
|
|
|
|
+ color: #0a3069;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.token.operator,
|
|
|
|
|
+.token.entity,
|
|
|
|
|
+.token.url {
|
|
|
|
|
+ color: #cf222e;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.token.atrule,
|
|
|
|
|
+.token.attr-value,
|
|
|
|
|
+.token.keyword {
|
|
|
|
|
+ color: #cf222e;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.token.function,
|
|
|
|
|
+.token.class-name {
|
|
|
|
|
+ color: #8250df;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.token.regex,
|
|
|
|
|
+.token.important,
|
|
|
|
|
+.token.variable {
|
|
|
|
|
+ color: #953800;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* ==========================================================================
|
|
|
|
|
+ Tables
|
|
|
|
|
+ ========================================================================== */
|
|
|
|
|
+
|
|
|
|
|
+table {
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ margin: var(--spacing-lg) 0;
|
|
|
|
|
+ border-collapse: collapse;
|
|
|
|
|
+ border-spacing: 0;
|
|
|
|
|
+ font-size: var(--font-size-small);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+th,
|
|
|
|
|
+td {
|
|
|
|
|
+ padding: var(--spacing-sm) var(--spacing-md);
|
|
|
|
|
+ text-align: left;
|
|
|
|
|
+ border: 1px solid var(--color-border);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+th {
|
|
|
|
|
+ background-color: var(--color-table-header-bg);
|
|
|
|
|
+ font-weight: 600;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+tr:nth-child(even) {
|
|
|
|
|
+ background-color: var(--color-code-bg);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+table code {
|
|
|
|
|
+ font-size: 0.9em;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* ==========================================================================
|
|
|
|
|
+ Lists
|
|
|
|
|
+ ========================================================================== */
|
|
|
|
|
+
|
|
|
|
|
+ul,
|
|
|
|
|
+ol {
|
|
|
|
|
+ margin: var(--spacing-md) 0;
|
|
|
|
|
+ padding-left: var(--spacing-xl);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+li {
|
|
|
|
|
+ margin: var(--spacing-xs) 0;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+li > ul,
|
|
|
|
|
+li > ol {
|
|
|
|
|
+ margin: var(--spacing-xs) 0;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* Definition lists */
|
|
|
|
|
+dl {
|
|
|
|
|
+ margin: var(--spacing-lg) 0;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+dt {
|
|
|
|
|
+ font-weight: 600;
|
|
|
|
|
+ margin-top: var(--spacing-md);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+dd {
|
|
|
|
|
+ margin: 0;
|
|
|
|
|
+ padding-left: var(--spacing-xl);
|
|
|
|
|
+ color: var(--color-text-muted);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* ==========================================================================
|
|
|
|
|
+ Blockquotes
|
|
|
|
|
+ ========================================================================== */
|
|
|
|
|
+
|
|
|
|
|
+blockquote {
|
|
|
|
|
+ margin: var(--spacing-lg) 0;
|
|
|
|
|
+ padding: var(--spacing-md) var(--spacing-lg);
|
|
|
|
|
+ background-color: var(--color-blockquote-bg);
|
|
|
|
|
+ border-left: 4px solid var(--color-blockquote-border);
|
|
|
|
|
+ border-radius: 0 4px 4px 0;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+blockquote p {
|
|
|
|
|
+ margin: 0;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+blockquote p + p {
|
|
|
|
|
+ margin-top: var(--spacing-md);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+blockquote code {
|
|
|
|
|
+ background-color: rgba(0, 0, 0, 0.05);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* ==========================================================================
|
|
|
|
|
+ Horizontal Rules
|
|
|
|
|
+ ========================================================================== */
|
|
|
|
|
+
|
|
|
|
|
+hr {
|
|
|
|
|
+ margin: var(--spacing-xxl) 0;
|
|
|
|
|
+ padding: 0;
|
|
|
|
|
+ border: none;
|
|
|
|
|
+ border-top: 1px solid var(--color-border);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* ==========================================================================
|
|
|
|
|
+ Page Layout (for full-page components)
|
|
|
|
|
+ ========================================================================== */
|
|
|
|
|
+
|
|
|
|
|
+.page-container {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ min-height: 100vh;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.main-content {
|
|
|
|
|
+ margin-left: var(--sidebar-width);
|
|
|
|
|
+ flex: 1;
|
|
|
|
|
+ min-width: 0;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.doc-content {
|
|
|
|
|
+ max-width: var(--content-max-width);
|
|
|
|
|
+ margin: 0 auto;
|
|
|
|
|
+ padding: var(--content-padding);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.doc-section {
|
|
|
|
|
+ margin-bottom: var(--spacing-xxl);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* ==========================================================================
|
|
|
|
|
+ Home Page Styles
|
|
|
|
|
+ ========================================================================== */
|
|
|
|
|
+
|
|
|
|
|
+.home-hero {
|
|
|
|
|
+ text-align: center;
|
|
|
|
|
+ padding: var(--spacing-xxl) 0;
|
|
|
|
|
+ margin-bottom: var(--spacing-xl);
|
|
|
|
|
+ border-bottom: 1px solid var(--color-border);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.hero-title {
|
|
|
|
|
+ font-size: 3rem;
|
|
|
|
|
+ font-weight: 700;
|
|
|
|
|
+ margin: 0 0 var(--spacing-sm);
|
|
|
|
|
+ color: var(--color-text);
|
|
|
|
|
+ border-bottom: none;
|
|
|
|
|
+ padding-bottom: 0;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.hero-tagline {
|
|
|
|
|
+ font-size: 1.25rem;
|
|
|
|
|
+ color: var(--color-text-muted);
|
|
|
|
|
+ margin: 0;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.intro {
|
|
|
|
|
+ font-size: 1.125rem;
|
|
|
|
|
+ line-height: 1.7;
|
|
|
|
|
+ color: var(--color-text);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* Quick Links Grid */
|
|
|
|
|
+.quick-links {
|
|
|
|
|
+ display: grid;
|
|
|
|
|
+ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
|
|
|
|
|
+ gap: var(--spacing-lg);
|
|
|
|
|
+ margin: var(--spacing-lg) 0;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.quick-link-card {
|
|
|
|
|
+ display: block;
|
|
|
|
|
+ padding: var(--spacing-lg);
|
|
|
|
|
+ background-color: var(--color-sidebar-bg);
|
|
|
|
|
+ border: 1px solid var(--color-border);
|
|
|
|
|
+ border-radius: 8px;
|
|
|
|
|
+ text-decoration: none;
|
|
|
|
|
+ transition: all var(--transition-fast);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.quick-link-card:hover {
|
|
|
|
|
+ background-color: var(--color-hover-bg);
|
|
|
|
|
+ border-color: var(--color-primary);
|
|
|
|
|
+ text-decoration: none;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.quick-link-card h3 {
|
|
|
|
|
+ margin: 0 0 var(--spacing-sm);
|
|
|
|
|
+ font-size: 1.125rem;
|
|
|
|
|
+ color: var(--color-primary);
|
|
|
|
|
+ border-bottom: none;
|
|
|
|
|
+ padding-bottom: 0;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.quick-link-card p {
|
|
|
|
|
+ margin: 0;
|
|
|
|
|
+ font-size: var(--font-size-small);
|
|
|
|
|
+ color: var(--color-text-muted);
|
|
|
|
|
+ line-height: 1.5;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* Features List */
|
|
|
|
|
+.features-list {
|
|
|
|
|
+ list-style: none;
|
|
|
|
|
+ padding: 0;
|
|
|
|
|
+ margin: var(--spacing-lg) 0;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.features-list li {
|
|
|
|
|
+ padding: var(--spacing-sm) 0;
|
|
|
|
|
+ padding-left: var(--spacing-lg);
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.features-list li::before {
|
|
|
|
|
+ content: "✓";
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ left: 0;
|
|
|
|
|
+ color: var(--color-primary);
|
|
|
|
|
+ font-weight: 600;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.features-list li strong {
|
|
|
|
|
+ color: var(--color-text);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* ==========================================================================
|
|
|
|
|
+ Demo Host Component
|
|
|
|
|
+ ========================================================================== */
|
|
|
|
|
+
|
|
|
|
|
+.demo-host {
|
|
|
|
|
+ margin: var(--spacing-xl) 0;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.demo-frame {
|
|
|
|
|
+ border: 1px solid var(--color-border);
|
|
|
|
|
+ border-radius: 6px;
|
|
|
|
|
+ overflow: hidden;
|
|
|
|
|
+ background-color: var(--color-background);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.demo-frame-header {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ justify-content: space-between;
|
|
|
|
|
+ padding: var(--spacing-sm) var(--spacing-md);
|
|
|
|
|
+ background-color: var(--color-sidebar-bg);
|
|
|
|
|
+ border-bottom: 1px solid var(--color-border);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.demo-frame-title {
|
|
|
|
|
+ font-size: var(--font-size-small);
|
|
|
|
|
+ font-weight: 600;
|
|
|
|
|
+ color: var(--color-text);
|
|
|
|
|
+ margin: 0;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.demo-frame-content {
|
|
|
|
|
+ padding: var(--spacing-lg);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* Demo toggle buttons */
|
|
|
|
|
+.demo-toggle-group {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ gap: var(--spacing-sm);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.demo-toggle-btn {
|
|
|
|
|
+ padding: var(--spacing-xs) var(--spacing-sm);
|
|
|
|
|
+ font-family: var(--font-family);
|
|
|
|
|
+ font-size: var(--font-size-smaller);
|
|
|
|
|
+ font-weight: 500;
|
|
|
|
|
+ color: var(--color-text-muted);
|
|
|
|
|
+ background-color: transparent;
|
|
|
|
|
+ border: 1px solid var(--color-border);
|
|
|
|
|
+ border-radius: 4px;
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ transition: all var(--transition-fast);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.demo-toggle-btn:hover {
|
|
|
|
|
+ color: var(--color-text);
|
|
|
|
|
+ background-color: var(--color-hover-bg);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.demo-toggle-btn.active {
|
|
|
|
|
+ color: var(--color-primary);
|
|
|
|
|
+ background-color: var(--color-active-bg);
|
|
|
|
|
+ border-color: var(--color-primary);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.demo-toggle-btn:focus {
|
|
|
|
|
+ outline: 2px solid var(--color-primary);
|
|
|
|
|
+ outline-offset: 2px;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* Source code view */
|
|
|
|
|
+.demo-source {
|
|
|
|
|
+ margin-top: 0;
|
|
|
|
|
+ border-top: 1px solid var(--color-border);
|
|
|
|
|
+ border-radius: 0;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.demo-source pre {
|
|
|
|
|
+ margin: 0;
|
|
|
|
|
+ border: none;
|
|
|
|
|
+ border-radius: 0;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* ==========================================================================
|
|
|
|
|
+ Utility Classes
|
|
|
|
|
+ ========================================================================== */
|
|
|
|
|
+
|
|
|
|
|
+/* Text utilities */
|
|
|
|
|
+.text-muted {
|
|
|
|
|
+ color: var(--color-text-muted);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.text-small {
|
|
|
|
|
+ font-size: var(--font-size-small);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* Spacing utilities */
|
|
|
|
|
+.mt-0 { margin-top: 0; }
|
|
|
|
|
+.mt-1 { margin-top: var(--spacing-sm); }
|
|
|
|
|
+.mt-2 { margin-top: var(--spacing-md); }
|
|
|
|
|
+.mt-3 { margin-top: var(--spacing-lg); }
|
|
|
|
|
+.mt-4 { margin-top: var(--spacing-xl); }
|
|
|
|
|
+
|
|
|
|
|
+.mb-0 { margin-bottom: 0; }
|
|
|
|
|
+.mb-1 { margin-bottom: var(--spacing-sm); }
|
|
|
|
|
+.mb-2 { margin-bottom: var(--spacing-md); }
|
|
|
|
|
+.mb-3 { margin-bottom: var(--spacing-lg); }
|
|
|
|
|
+.mb-4 { margin-bottom: var(--spacing-xl); }
|
|
|
|
|
+
|
|
|
|
|
+/* ==========================================================================
|
|
|
|
|
+ Responsive Design
|
|
|
|
|
+ ========================================================================== */
|
|
|
|
|
+
|
|
|
|
|
+/* Tablet and smaller */
|
|
|
|
|
+@media (max-width: 1024px) {
|
|
|
|
|
+ :root {
|
|
|
|
|
+ --sidebar-width: 240px;
|
|
|
|
|
+ --content-padding: 1.5rem;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* Mobile */
|
|
|
|
|
+@media (max-width: 768px) {
|
|
|
|
|
+ :root {
|
|
|
|
|
+ --sidebar-width: 100%;
|
|
|
|
|
+ --content-padding: 1rem;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .docs-sidebar {
|
|
|
|
|
+ transform: translateX(-100%);
|
|
|
|
|
+ transition: transform var(--transition-normal);
|
|
|
|
|
+ width: 280px;
|
|
|
|
|
+ max-width: 85vw;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .docs-sidebar.open {
|
|
|
|
|
+ transform: translateX(0);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .nav-sidebar {
|
|
|
|
|
+ transform: translateX(-100%);
|
|
|
|
|
+ transition: transform var(--transition-normal);
|
|
|
|
|
+ width: 280px;
|
|
|
|
|
+ max-width: 85vw;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .nav-sidebar.open {
|
|
|
|
|
+ transform: translateX(0);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .docs-main {
|
|
|
|
|
+ margin-left: 0;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /* Mobile menu toggle */
|
|
|
|
|
+ .docs-menu-toggle {
|
|
|
|
|
+ position: fixed;
|
|
|
|
|
+ top: var(--spacing-md);
|
|
|
|
|
+ left: var(--spacing-md);
|
|
|
|
|
+ z-index: 101;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ width: 40px;
|
|
|
|
|
+ height: 40px;
|
|
|
|
|
+ padding: 0;
|
|
|
|
|
+ background-color: var(--color-background);
|
|
|
|
|
+ border: 1px solid var(--color-border);
|
|
|
|
|
+ border-radius: 6px;
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ transition: background-color var(--transition-fast);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .docs-menu-toggle:hover {
|
|
|
|
|
+ background-color: var(--color-hover-bg);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .docs-menu-toggle::before {
|
|
|
|
|
+ content: "";
|
|
|
|
|
+ display: block;
|
|
|
|
|
+ width: 18px;
|
|
|
|
|
+ height: 2px;
|
|
|
|
|
+ background-color: var(--color-text);
|
|
|
|
|
+ box-shadow: 0 -5px 0 var(--color-text), 0 5px 0 var(--color-text);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /* Overlay when sidebar is open */
|
|
|
|
|
+ .docs-overlay {
|
|
|
|
|
+ position: fixed;
|
|
|
|
|
+ top: 0;
|
|
|
|
|
+ left: 0;
|
|
|
|
|
+ right: 0;
|
|
|
|
|
+ bottom: 0;
|
|
|
|
|
+ background-color: rgba(0, 0, 0, 0.5);
|
|
|
|
|
+ z-index: 99;
|
|
|
|
|
+ opacity: 0;
|
|
|
|
|
+ visibility: hidden;
|
|
|
|
|
+ transition: opacity var(--transition-normal), visibility var(--transition-normal);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .docs-overlay.visible {
|
|
|
|
|
+ opacity: 1;
|
|
|
|
|
+ visibility: visible;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /* Adjust typography for mobile */
|
|
|
|
|
+ h1 {
|
|
|
|
|
+ font-size: 1.75rem;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ h2 {
|
|
|
|
|
+ font-size: 1.35rem;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ h3 {
|
|
|
|
|
+ font-size: 1.15rem;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /* Scrollable tables on mobile */
|
|
|
|
|
+ table {
|
|
|
|
|
+ display: block;
|
|
|
|
|
+ overflow-x: auto;
|
|
|
|
|
+ -webkit-overflow-scrolling: touch;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /* Home page mobile adjustments */
|
|
|
|
|
+ .main-content {
|
|
|
|
|
+ margin-left: 0;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .hero-title {
|
|
|
|
|
+ font-size: 2rem;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .hero-tagline {
|
|
|
|
|
+ font-size: 1rem;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .quick-links {
|
|
|
|
|
+ grid-template-columns: 1fr;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* Hide mobile menu toggle on desktop */
|
|
|
|
|
+@media (min-width: 769px) {
|
|
|
|
|
+ .docs-menu-toggle,
|
|
|
|
|
+ .docs-overlay {
|
|
|
|
|
+ display: none;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* ==========================================================================
|
|
|
|
|
+ Print Styles
|
|
|
|
|
+ ========================================================================== */
|
|
|
|
|
+
|
|
|
|
|
+@media print {
|
|
|
|
|
+ .docs-sidebar,
|
|
|
|
|
+ .nav-sidebar,
|
|
|
|
|
+ .docs-menu-toggle,
|
|
|
|
|
+ .docs-overlay {
|
|
|
|
|
+ display: none !important;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .docs-main {
|
|
|
|
|
+ margin-left: 0 !important;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .docs-content {
|
|
|
|
|
+ max-width: none !important;
|
|
|
|
|
+ padding: 0 !important;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ a {
|
|
|
|
|
+ color: var(--color-text) !important;
|
|
|
|
|
+ text-decoration: underline;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ pre,
|
|
|
|
|
+ code {
|
|
|
|
|
+ border: none !important;
|
|
|
|
|
+ background-color: transparent !important;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|