raffel 1.1.80 → 1.1.82
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/docs/ui/assets/raffel-docs.css +223 -167
- package/dist/docs/ui/assets/raffel-docs.js +11 -16
- package/dist/docs/ui/runtime/index.js +11 -16
- package/dist/docs/ui/runtime/index.js.map +1 -1
- package/dist/docs/ui/style-sections/content.d.ts +1 -1
- package/dist/docs/ui/style-sections/content.d.ts.map +1 -1
- package/dist/docs/ui/style-sections/content.js +53 -52
- package/dist/docs/ui/style-sections/content.js.map +1 -1
- package/dist/docs/ui/style-sections/layout-navigation.d.ts +1 -1
- package/dist/docs/ui/style-sections/layout-navigation.d.ts.map +1 -1
- package/dist/docs/ui/style-sections/layout-navigation.js +26 -26
- package/dist/docs/ui/style-sections/schema-code.d.ts +1 -1
- package/dist/docs/ui/style-sections/schema-code.d.ts.map +1 -1
- package/dist/docs/ui/style-sections/schema-code.js +122 -67
- package/dist/docs/ui/style-sections/schema-code.js.map +1 -1
- package/dist/docs/ui/style-sections/shell.js +22 -22
- package/dist/ui/docs/ui/style-sections/content.d.ts +1 -1
- package/dist/ui/docs/ui/style-sections/content.d.ts.map +1 -1
- package/dist/ui/docs/ui/style-sections/layout-navigation.d.ts +1 -1
- package/dist/ui/docs/ui/style-sections/layout-navigation.d.ts.map +1 -1
- package/dist/ui/docs/ui/style-sections/schema-code.d.ts +1 -1
- package/dist/ui/docs/ui/style-sections/schema-code.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const contentStyles = " /* ========== MAIN CONTENT ========== */\n .main {\n padding: 40px;\n overflow-y: auto;\n width: 100%;\n }\n\n /* ========== BREADCRUMBS ========== */\n .docs-breadcrumb {\n margin: 0 0 16px 0;\n font-size: 13px;\n color: var(--text-muted);\n }\n\n .docs-breadcrumb-list {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 6px;\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .docs-breadcrumb-item {\n display: inline-flex;\n align-items: center;\n min-width: 0;\n }\n\n .docs-breadcrumb-link {\n color: var(--text-secondary);\n text-decoration: none;\n cursor: pointer;\n max-width: 240px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .docs-breadcrumb-link:hover {\n color: var(--primary-color);\n text-decoration: underline;\n }\n\n .docs-breadcrumb-label {\n color: var(--text-muted);\n max-width: 240px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .docs-breadcrumb-current {\n color: var(--text-secondary);\n font-weight: 500;\n max-width: 320px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .docs-breadcrumb-separator {\n color: var(--text-muted);\n user-select: none;\n }\n\n /* Mobile: keep first + last segments, ellipsise the middle. We cannot\n collapse via DOM at this layer (the resolver feeds the full chain), but\n on narrow screens we hide every link/label between the second and the\n last-but-one entries, leaving the first, an ellipsis, and the current\n page visible. Separators around hidden items are also hidden. */\n @media (max-width: 600px) {\n .docs-breadcrumb-list > .docs-breadcrumb-item:not(:first-child):not(:last-child) {\n display: none;\n }\n .docs-breadcrumb-list > .docs-breadcrumb-separator:nth-child(n+4):not(:nth-last-child(2)) {\n display: none;\n }\n .docs-breadcrumb-list > .docs-breadcrumb-item:first-child + .docs-breadcrumb-separator + .docs-breadcrumb-item:not(:last-child)::after {\n content: ' \\2026 ';\n color: var(--text-muted);\n margin-left: 4px;\n }\n .docs-breadcrumb-link,\n .docs-breadcrumb-label,\n .docs-breadcrumb-current {\n max-width: 140px;\n }\n }\n\n .section { margin-bottom: 48px; }\n\n .section-title {\n font-size: 28px;\n font-weight: 700;\n margin-bottom: 8px;\n color: var(--text-color);\n }\n\n .section-desc {\n color: var(--text-muted);\n margin-bottom: 24px;\n }\n\n /* ========== INTRODUCTION SECTION ========== */\n .intro-section {\n padding: 32px 40px;\n background: var(--surface-color);\n border-bottom: 1px solid var(--border-color);\n margin: -40px -40px 40px -40px;\n }\n\n .intro-section .markdown-content {\n max-width: 800px;\n }\n\n .intro-section .markdown-content h2 {\n font-size: 24px;\n font-weight: 600;\n margin: 32px 0 16px 0;\n color: var(--text-color);\n }\n\n .intro-section .markdown-content h2:first-child {\n margin-top: 0;\n }\n\n .intro-section .markdown-content p {\n font-size: 16px;\n line-height: 1.7;\n color: var(--text-color);\n margin-bottom: 16px;\n }\n\n .intro-section .markdown-content ul {\n margin: 16px 0;\n padding-left: 24px;\n }\n\n .intro-section .markdown-content li {\n font-size: 15px;\n line-height: 1.6;\n color: var(--text-color);\n margin-bottom: 8px;\n }\n\n .intro-section .markdown-content code {\n background: var(--code-bg);\n padding: 2px 6px;\n border-radius: 4px;\n font-size: 14px;\n font-family: 'SF Mono', Monaco, Consolas, monospace;\n }\n\n .intro-section .markdown-content pre {\n background: var(--code-bg);\n padding: 16px;\n border-radius: 8px;\n overflow-x: auto;\n margin: 16px 0;\n }\n\n .intro-section .markdown-content strong {\n font-weight: 600;\n color: var(--text-color);\n }\n\n /* ========== ROOT OVERVIEW (OpenAPI landing) ========== */\n .docs-overview {\n max-width: 820px;\n margin-bottom: 8px;\n }\n\n .docs-overview-header {\n margin: 0 0 12px 0;\n }\n\n .docs-overview-title {\n display: flex;\n align-items: baseline;\n flex-wrap: wrap;\n gap: 12px;\n font-size: 32px;\n font-weight: 700;\n line-height: 1.2;\n margin: 0;\n color: var(--text-color);\n }\n\n .docs-overview-version {\n font-size: 13px;\n font-weight: 600;\n letter-spacing: 0.02em;\n padding: 3px 10px;\n border-radius: 999px;\n color: var(--accent, var(--primary-color));\n background: color-mix(in srgb, var(--accent, var(--primary-color)) 14%, transparent);\n border: 1px solid color-mix(in srgb, var(--accent, var(--primary-color)) 35%, transparent);\n }\n\n .docs-overview-meta {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 10px;\n font-size: 14px;\n color: var(--text-muted);\n margin: 0 0 24px 0;\n }\n\n .docs-overview-meta a {\n color: var(--accent, var(--primary-color));\n text-decoration: none;\n }\n\n .docs-overview-meta a:hover {\n text-decoration: underline;\n }\n\n .docs-overview-meta-sep {\n color: var(--border-color);\n }\n\n .docs-overview-servers {\n margin: 0 0 28px 0;\n }\n\n .docs-overview-subtitle {\n font-size: 13px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.06em;\n color: var(--text-muted);\n margin: 0 0 12px 0;\n }\n\n .docs-overview-server-list {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n .docs-overview-server {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 12px;\n padding: 12px 16px;\n border: 1px solid var(--border-color);\n border-radius: 10px;\n background: var(--surface-color);\n }\n\n .docs-overview-server-url {\n font-family: 'SF Mono', Monaco, Consolas, monospace;\n font-size: 14px;\n color: var(--text-color);\n background: var(--code-bg);\n padding: 4px 10px;\n border-radius: 6px;\n word-break: break-all;\n }\n\n .docs-overview-server-desc {\n font-size: 14px;\n color: var(--text-muted);\n }\n\n .docs-overview-description {\n max-width: 820px;\n }\n\n /* ========== ENDPOINT SECTIONS (Redoc-style) ========== */\n .endpoint-section {\n padding: 32px 0;\n border-bottom: 1px solid var(--border-color);\n }\n\n .endpoint-section:last-child {\n border-bottom: none;\n }\n\n .endpoint-header {\n display: flex;\n align-items: flex-start;\n gap: 16px;\n margin-bottom: 20px;\n }\n\n .endpoint-method-path {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-wrap: wrap;\n }\n\n .badge {\n display: inline-flex;\n align-items: center;\n padding: 6px 12px;\n border-radius: 4px;\n font-size: 12px;\n font-weight: 700;\n text-transform: uppercase;\n font-family: 'SF Mono', 'Monaco', monospace;\n letter-spacing: 0.5px;\n }\n\n .badge-get { background: #10b981; color: white; }\n .badge-post { background: #3b82f6; color: white; }\n .badge-put { background: #f59e0b; color: white; }\n .badge-patch { background: #8b5cf6; color: white; }\n .badge-delete { background: #ef4444; color: white; }\n\n .endpoint-path {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 16px;\n font-weight: 500;\n color: var(--text-color);\n }\n\n .endpoint-title {\n font-size: 24px;\n font-weight: 600;\n margin-bottom: 8px;\n color: var(--text-color);\n }\n\n .endpoint-description {\n color: var(--text-muted);\n font-size: 15px;\n line-height: 1.7;\n margin-bottom: 24px;\n }\n\n /* Markdown content styles */\n .markdown-content {\n color: var(--text-primary);\n }\n\n .markdown-content a:not(.heading-anchor) {\n color: var(--primary-color);\n text-decoration: none;\n }\n\n .markdown-content a:not(.heading-anchor):hover {\n text-decoration: underline;\n }\n\n /* Heading anchor (#) \u2014 hidden by default, fades in on heading hover.\n Muted colour, no underline, no accent. Stripe/Vercel/GitHub pattern. */\n .markdown-content :is(.md-h1, .md-h2, .md-h3, .md-h4, .md-h5, .md-h6) > .heading-anchor {\n display: inline-block;\n margin-right: 8px;\n color: var(--text-muted);\n text-decoration: none;\n opacity: 0;\n transition: opacity 0.15s, color 0.15s;\n font-weight: 400;\n }\n\n .markdown-content :is(.md-h1, .md-h2, .md-h3, .md-h4, .md-h5, .md-h6):hover > .heading-anchor,\n .markdown-content .heading-anchor:focus-visible {\n opacity: 1;\n }\n\n .markdown-content .heading-anchor:hover {\n color: var(--text-secondary);\n }\n\n .markdown-content .md-h2 {\n font-size: 18px;\n font-weight: 600;\n color: var(--text-primary);\n margin: 24px 0 12px 0;\n padding-bottom: 8px;\n border-bottom: 1px solid var(--border);\n }\n\n .markdown-content .md-h3 {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-primary);\n margin: 20px 0 10px 0;\n }\n\n .markdown-content .md-h4 {\n font-size: 14px;\n font-weight: 600;\n color: var(--text-secondary);\n margin: 16px 0 8px 0;\n }\n\n .markdown-content .md-p {\n margin: 0 0 12px 0;\n color: var(--text-muted);\n }\n\n .markdown-content .md-list {\n margin: 12px 0;\n padding-left: 24px;\n }\n\n .markdown-content .md-list li {\n margin: 6px 0;\n color: var(--text-muted);\n }\n\n .markdown-content .md-inline-code {\n background: var(--bg-tertiary);\n padding: 2px 6px;\n border-radius: 4px;\n font-family: 'JetBrains Mono', 'Fira Code', 'SF Mono', monospace;\n font-size: 13px;\n color: var(--accent);\n }\n\n .markdown-content .emoji {\n display: inline-block;\n min-width: 1em;\n line-height: 1;\n vertical-align: -0.12em;\n }\n\n .markdown-content .docs-component-mount {\n margin: 16px 0;\n }\n\n .markdown-content .md-code-block {\n background: var(--bg-tertiary);\n border-radius: 6px;\n padding: 16px;\n margin: 16px 0;\n overflow-x: auto;\n }\n\n .markdown-content .md-code-wrap {\n position: relative;\n margin: 16px 0;\n }\n\n .markdown-content .copy-code-btn {\n position: absolute;\n top: 8px;\n right: 8px;\n border: 1px solid var(--border);\n border-radius: 4px;\n background: var(--bg-primary);\n color: var(--text-muted);\n padding: 4px 8px;\n font-size: 11px;\n line-height: 16px;\n cursor: pointer;\n }\n\n .markdown-content .copy-code-btn:hover {\n color: var(--text-primary);\n border-color: var(--primary-color);\n }\n\n .markdown-content .md-code-block[data-code-toolbar-enhanced=\"true\"] {\n padding-top: 32px;\n }\n\n .markdown-content .code-block-toolbar {\n position: absolute;\n top: 6px;\n right: 6px;\n left: 6px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n pointer-events: none;\n opacity: 0;\n transition: opacity 120ms ease;\n }\n\n .markdown-content pre:hover .code-block-toolbar,\n .markdown-content .code-block-toolbar:focus-within {\n opacity: 1;\n }\n\n @media (hover: none) {\n .markdown-content .code-block-toolbar {\n opacity: 1;\n }\n }\n\n .markdown-content .code-block-lang {\n pointer-events: auto;\n font-family: ui-monospace, 'JetBrains Mono', 'Fira Code', 'SF Mono', monospace;\n font-size: var(--font-size-xs, 11px);\n line-height: 1;\n color: var(--text-muted);\n text-transform: lowercase;\n letter-spacing: 0.02em;\n }\n\n .markdown-content .code-block-lang[hidden] {\n display: none;\n }\n\n .markdown-content .code-block-copy {\n pointer-events: auto;\n border: 1px solid var(--border-color);\n border-radius: 4px;\n background: transparent;\n color: var(--text-muted);\n padding: 2px 8px;\n font-family: ui-monospace, 'JetBrains Mono', 'Fira Code', 'SF Mono', monospace;\n font-size: var(--font-size-xs, 11px);\n line-height: 16px;\n cursor: pointer;\n transition: color 120ms ease, border-color 120ms ease;\n }\n\n .markdown-content .code-block-copy:hover,\n .markdown-content .code-block-copy:focus-visible {\n color: var(--text-secondary);\n border-color: var(--text-secondary);\n outline: none;\n }\n\n .markdown-content .md-code-block code {\n font-family: 'JetBrains Mono', 'Fira Code', 'SF Mono', monospace;\n font-size: 13px;\n line-height: 1.6;\n color: var(--text-primary);\n white-space: pre;\n }\n\n .markdown-content .token.comment,\n .markdown-content .token.prolog,\n .markdown-content .token.doctype,\n .markdown-content .token.cdata {\n color: var(--text-muted);\n }\n\n .markdown-content .token.punctuation {\n color: var(--text-secondary);\n }\n\n .markdown-content .token.property,\n .markdown-content .token.tag,\n .markdown-content .token.boolean,\n .markdown-content .token.number,\n .markdown-content .token.constant,\n .markdown-content .token.symbol {\n color: #b45309;\n }\n\n .markdown-content .token.selector,\n .markdown-content .token.attr-name,\n .markdown-content .token.string,\n .markdown-content .token.char,\n .markdown-content .token.builtin {\n color: #047857;\n }\n\n .markdown-content .token.operator,\n .markdown-content .token.entity,\n .markdown-content .token.url,\n .markdown-content .token.variable {\n color: #0f766e;\n }\n\n .markdown-content .token.atrule,\n .markdown-content .token.attr-value,\n .markdown-content .token.function,\n .markdown-content .token.class-name {\n color: #2563eb;\n }\n\n .markdown-content .token.keyword {\n color: #7c3aed;\n }\n\n [data-theme=\"dark\"] .markdown-content .token.property,\n [data-theme=\"dark\"] .markdown-content .token.tag,\n [data-theme=\"dark\"] .markdown-content .token.boolean,\n [data-theme=\"dark\"] .markdown-content .token.number,\n [data-theme=\"dark\"] .markdown-content .token.constant,\n [data-theme=\"dark\"] .markdown-content .token.symbol {\n color: #fcd34d;\n }\n\n [data-theme=\"dark\"] .markdown-content .token.selector,\n [data-theme=\"dark\"] .markdown-content .token.attr-name,\n [data-theme=\"dark\"] .markdown-content .token.string,\n [data-theme=\"dark\"] .markdown-content .token.char,\n [data-theme=\"dark\"] .markdown-content .token.builtin {\n color: #86efac;\n }\n\n [data-theme=\"dark\"] .markdown-content .token.function,\n [data-theme=\"dark\"] .markdown-content .token.class-name {\n color: #93c5fd;\n }\n\n [data-theme=\"dark\"] .markdown-content .token.keyword {\n color: #c4b5fd;\n }\n\n /*\n * Prism dark tokens also apply to theme: 'custom' under prefers-color-scheme\n * dark, mirroring the shell.ts default-token logic. Without this block,\n * consumers using customCss on a dark body inherit the light-mode token\n * colors (orange/green over dark, hard to scan) and have to rewrite all\n * 8 token classes themselves.\n */\n @media (prefers-color-scheme: dark) {\n [data-theme=\"custom\"] .markdown-content .token.property,\n [data-theme=\"custom\"] .markdown-content .token.tag,\n [data-theme=\"custom\"] .markdown-content .token.boolean,\n [data-theme=\"custom\"] .markdown-content .token.number,\n [data-theme=\"custom\"] .markdown-content .token.constant,\n [data-theme=\"custom\"] .markdown-content .token.symbol {\n color: #fcd34d;\n }\n\n [data-theme=\"custom\"] .markdown-content .token.selector,\n [data-theme=\"custom\"] .markdown-content .token.attr-name,\n [data-theme=\"custom\"] .markdown-content .token.string,\n [data-theme=\"custom\"] .markdown-content .token.char,\n [data-theme=\"custom\"] .markdown-content .token.builtin {\n color: #86efac;\n }\n\n [data-theme=\"custom\"] .markdown-content .token.function,\n [data-theme=\"custom\"] .markdown-content .token.class-name {\n color: #93c5fd;\n }\n\n [data-theme=\"custom\"] .markdown-content .token.keyword {\n color: #c4b5fd;\n }\n }\n\n .markdown-content .mermaid {\n position: relative;\n margin: 16px 0;\n padding: 16px;\n border: 1px solid var(--border);\n border-radius: 6px;\n background: var(--bg-primary);\n overflow: hidden;\n text-align: center;\n }\n\n /* Viewport \u2014 clips the scaled SVG so it doesn't overflow the card. */\n .markdown-content .mermaid .mermaid-viewport {\n position: relative;\n overflow: hidden;\n user-select: none;\n -webkit-user-select: none;\n }\n\n /* Toolbar \u2014 appears in the top-right corner, fades in on hover. */\n .markdown-content .mermaid .mermaid-toolbar {\n position: absolute;\n top: 10px;\n right: 10px;\n display: flex;\n gap: 4px;\n padding: 4px;\n background: var(--bg-secondary);\n border: 1px solid var(--border);\n border-radius: 6px;\n opacity: 0;\n transition: opacity 0.18s ease;\n z-index: 2;\n }\n .markdown-content .mermaid:hover .mermaid-toolbar,\n .markdown-content .mermaid:focus-within .mermaid-toolbar { opacity: 1; }\n\n .markdown-content .mermaid .mermaid-btn {\n width: 28px;\n height: 28px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n color: var(--text-secondary);\n border: 0;\n border-radius: 4px;\n cursor: pointer;\n font-family: ui-sans-serif, system-ui, sans-serif;\n font-size: 14px;\n line-height: 1;\n transition: background 0.15s ease, color 0.15s ease;\n }\n .markdown-content .mermaid .mermaid-btn:hover {\n background: var(--hover-bg);\n color: var(--text-primary);\n }\n .markdown-content .mermaid .mermaid-btn:focus-visible {\n outline: 2px solid var(--primary-color);\n outline-offset: 1px;\n }\n\n .markdown-content .mermaid-fallback,\n .markdown-content .mermaid-error {\n text-align: left;\n white-space: pre;\n font-family: 'JetBrains Mono', 'Fira Code', 'SF Mono', monospace;\n font-size: 13px;\n color: var(--text-muted);\n }\n\n .markdown-content .mermaid-error {\n border-left: 4px solid #d97706;\n }\n\n /* Fullscreen dialog \u2014 opened by the toolbar fullscreen button. */\n dialog.mermaid-fullscreen-dialog {\n width: 100vw;\n height: 100vh;\n max-width: 100vw;\n max-height: 100vh;\n margin: 0;\n padding: 0;\n border: 0;\n background: var(--bg-color);\n color: var(--text-primary);\n overflow: hidden;\n }\n dialog.mermaid-fullscreen-dialog::backdrop {\n background: rgba(0, 0, 0, 0.85);\n backdrop-filter: blur(6px);\n -webkit-backdrop-filter: blur(6px);\n }\n dialog.mermaid-fullscreen-dialog .mermaid-fullscreen-stage {\n width: 100vw;\n height: 100vh;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n user-select: none;\n -webkit-user-select: none;\n }\n dialog.mermaid-fullscreen-dialog .mermaid-fullscreen-stage svg {\n max-width: 92vw;\n max-height: 84vh;\n width: auto;\n height: auto;\n transition: transform 0.18s cubic-bezier(0.16, 1, 0.3, 1);\n }\n dialog.mermaid-fullscreen-dialog .mermaid-toolbar-fullscreen {\n position: fixed;\n top: 20px;\n left: 50%;\n transform: translateX(-50%);\n z-index: 3;\n background: var(--bg-secondary);\n border: 1px solid var(--border);\n border-radius: 8px;\n padding: 6px;\n display: flex;\n gap: 4px;\n opacity: 1;\n }\n dialog.mermaid-fullscreen-close {\n position: fixed;\n top: 20px;\n right: 24px;\n width: 36px;\n height: 36px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: var(--bg-secondary);\n color: var(--text-primary);\n border: 1px solid var(--border);\n border-radius: 50%;\n cursor: pointer;\n font-size: 16px;\n line-height: 1;\n z-index: 3;\n transition: background 0.15s ease;\n }\n dialog.mermaid-fullscreen-close:hover { background: var(--hover-bg); }\n dialog.mermaid-fullscreen-close:focus-visible {\n outline: 2px solid var(--primary-color);\n outline-offset: 2px;\n }\n\n .markdown-content .md-image {\n display: block;\n max-width: 100%;\n height: auto;\n margin: 16px 0;\n border-radius: 6px;\n border: 1px solid var(--border);\n cursor: zoom-in;\n }\n\n .markdown-content .md-image[data-no-zoom=\"true\"],\n .markdown-content .md-image.no-zoom {\n cursor: default;\n }\n\n .markdown-content .markdown-disabled {\n color: var(--text-muted);\n cursor: not-allowed;\n text-decoration: none;\n opacity: 0.68;\n }\n\n .image-zoom-overlay {\n position: fixed;\n inset: 0;\n z-index: 1000;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 32px;\n background: rgba(15, 23, 42, 0.82);\n cursor: zoom-out;\n }\n\n .image-zoom-img {\n max-width: min(100%, 1200px);\n max-height: 90vh;\n border-radius: 6px;\n box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35);\n cursor: default;\n }\n\n .image-zoom-close {\n position: fixed;\n top: 18px;\n right: 18px;\n width: 36px;\n height: 36px;\n border: 1px solid rgba(255, 255, 255, 0.35);\n border-radius: 50%;\n background: rgba(15, 23, 42, 0.75);\n color: #fff;\n font-size: 24px;\n line-height: 1;\n cursor: pointer;\n }\n\n .markdown-content .md-hr {\n border: 0;\n border-top: 1px solid var(--border);\n margin: 24px 0;\n }\n\n .markdown-content .md-table {\n border-collapse: collapse;\n margin: 16px 0;\n font-size: 14px;\n border-radius: 6px;\n overflow: hidden;\n border: 1px solid var(--border);\n }\n\n .markdown-content .md-table td,\n .markdown-content .md-table th {\n padding: 10px 16px;\n border-bottom: 1px solid var(--border);\n text-align: left;\n white-space: nowrap;\n }\n\n .markdown-content .md-table td:last-child {\n white-space: normal;\n }\n\n .markdown-content .md-table tr:first-child td {\n font-weight: 600;\n background: var(--bg-tertiary);\n color: var(--text-primary);\n font-size: 12px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .markdown-content .md-table tr:last-child td {\n border-bottom: none;\n }\n\n .markdown-content .md-table tr:hover:not(:first-child) {\n background: var(--bg-secondary);\n }\n\n .markdown-content .md-alert {\n border: 1px solid var(--border);\n border-left: 4px solid var(--primary-color);\n border-radius: 6px;\n padding: 12px 14px;\n margin: 16px 0;\n background: var(--bg-secondary);\n }\n\n .markdown-content .md-alert-title {\n color: var(--text-primary);\n font-weight: 600;\n margin-bottom: 6px;\n }\n\n .markdown-content .md-alert-warning,\n .markdown-content .md-alert-danger,\n .markdown-content .md-alert-caution,\n .markdown-content .md-alert-important {\n border-left-color: #d97706;\n }\n\n .markdown-content .md-tabs {\n border: 1px solid var(--border);\n border-radius: 6px;\n margin: 16px 0;\n overflow: hidden;\n background: var(--bg-primary);\n }\n\n .markdown-content .md-tab-list {\n display: flex;\n gap: 0;\n border-bottom: 1px solid var(--border);\n background: var(--bg-secondary);\n overflow-x: auto;\n }\n\n .markdown-content .md-tab-button {\n border: 0;\n border-right: 1px solid var(--border);\n background: transparent;\n color: var(--text-muted);\n padding: 10px 14px;\n font-size: 13px;\n cursor: pointer;\n white-space: nowrap;\n }\n\n .markdown-content .md-tab-button.active {\n background: var(--bg-primary);\n color: var(--text-primary);\n font-weight: 600;\n }\n\n .markdown-content .md-tab-panel {\n display: none;\n padding: 16px;\n }\n\n .markdown-content .md-tab-panel.active {\n display: block;\n }\n\n .markdown-content strong {\n color: var(--text-primary);\n font-weight: 600;\n }\n\n .markdown-content em {\n font-style: italic;\n }\n\n .endpoint-content {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 40px;\n }\n\n @media (min-width: 1400px) {\n .endpoint-content {\n grid-template-columns: 55% 45%;\n }\n }\n\n @media (max-width: 1200px) {\n .endpoint-content {\n grid-template-columns: 1fr;\n gap: 24px;\n }\n }\n\n .endpoint-left {\n min-width: 0; /* Prevent overflow */\n }\n\n .endpoint-right {\n position: sticky;\n top: 20px;\n align-self: start;\n min-width: 0; /* Prevent overflow */\n background: var(--code-panel-bg);\n border-radius: 8px;\n padding: 20px;\n color: var(--code-panel-text);\n }\n\n .endpoint-right-header {\n font-size: 12px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: #90a4ae;\n margin-bottom: 16px;\n padding-bottom: 12px;\n border-bottom: 1px solid rgba(255,255,255,0.1);\n }\n\n @media (max-width: 1200px) {\n .endpoint-right {\n position: static;\n }\n }\n\n .endpoint-subsection {\n margin-bottom: 28px;\n }\n\n .endpoint-subsection-title {\n font-size: 13px;\n font-weight: 600;\n color: var(--text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 12px;\n padding-bottom: 8px;\n border-bottom: 1px solid var(--border-color);\n }\n\n .endpoint-subsection p {\n margin-bottom: 12px;\n color: var(--text-color);\n }\n\n /* ========== REDOC-STYLE PARAMETER LABELS ========== */\n .subsection-label {\n font-size: 12px;\n font-weight: 600;\n color: var(--text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 16px;\n }\n\n .content-type {\n font-weight: 400;\n color: var(--text-color);\n text-transform: none;\n }\n\n .auth-value {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 14px;\n color: var(--text-color);\n margin-left: 8px;\n }\n\n /* ========== REDOC-STYLE PARAMETERS ========== */\n .param-row {\n display: flex;\n padding: 12px;\n margin-bottom: 12px;\n border: 1px solid var(--border-color);\n border-radius: 6px;\n background: var(--surface-color);\n transition: border-color 0.15s, background 0.15s;\n }\n\n .param-row:hover {\n border-color: var(--primary-color);\n background: var(--hover-bg);\n }\n\n .param-row:last-child {\n margin-bottom: 0;\n }\n\n .param-tree {\n width: 20px;\n display: flex;\n align-items: flex-start;\n padding-top: 2px;\n color: var(--border-color);\n margin-right: 8px;\n }\n\n .param-tree-line {\n width: 10px;\n height: 10px;\n border-left: 1px solid var(--border-color);\n border-bottom: 1px solid var(--border-color);\n }\n\n .param-info {\n flex: 1;\n }\n\n .param-header {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 8px;\n flex-wrap: wrap;\n }\n\n .param-name-text {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 14px;\n font-weight: 600;\n color: var(--text-color);\n }\n\n .param-required-badge {\n font-size: 10px;\n font-weight: 700;\n padding: 3px 8px;\n border-radius: 4px;\n background: #fee2e2;\n color: #991b1b;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n }\n\n [data-theme=\"dark\"] .param-required-badge {\n background: #7f1d1d;\n color: #fca5a5;\n }\n\n .param-type-info {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 12px;\n padding: 2px 8px;\n border-radius: 4px;\n background: rgba(99, 102, 241, 0.1);\n color: #6366f1;\n }\n\n [data-theme=\"dark\"] .param-type-info {\n background: rgba(129, 140, 248, 0.15);\n color: #a5b4fc;\n }\n\n .param-type-info .format {\n color: #8b5cf6;\n }\n\n [data-theme=\"dark\"] .param-type-info .format {\n color: #c4b5fd;\n }\n\n .param-constraint {\n display: inline-block;\n font-size: 10px;\n padding: 3px 8px;\n border-radius: 4px;\n background: #fef3c7;\n color: #92400e;\n font-family: 'SF Mono', 'Monaco', monospace;\n margin-left: 4px;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n }\n\n [data-theme=\"dark\"] .param-constraint {\n background: #451a03;\n color: #fbbf24;\n }\n\n .param-default {\n font-size: 12px;\n color: var(--text-muted);\n margin-top: 6px;\n }\n\n .param-default code {\n background: var(--code-bg);\n padding: 3px 6px;\n border-radius: 3px;\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 11px;\n }\n\n .param-example {\n font-size: 12px;\n color: var(--text-muted);\n margin-top: 6px;\n }\n\n .param-example code {\n background: var(--code-bg);\n padding: 3px 6px;\n border-radius: 3px;\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 11px;\n }\n\n .param-description {\n font-size: 13px;\n color: var(--text-color);\n line-height: 1.5;\n margin-top: 8px;\n }\n\n /* ========== REDOC-STYLE RESPONSES ========== */\n .response-item {\n border: 1px solid var(--border-color);\n border-radius: 6px;\n margin-bottom: 12px;\n overflow: hidden;\n transition: border-color 0.15s, box-shadow 0.15s;\n }\n\n .response-item:hover {\n border-color: var(--primary-color);\n }\n\n .response-header {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 14px 16px;\n cursor: pointer;\n transition: background 0.15s;\n background: var(--surface-color);\n }\n\n .response-header:hover {\n background: var(--hover-bg);\n }\n\n .response-arrow {\n font-size: 11px;\n transition: transform 0.2s;\n color: var(--text-muted);\n width: 16px;\n text-align: center;\n }\n\n .response-item.expanded .response-arrow {\n transform: rotate(90deg);\n }\n\n .response-status {\n font-size: 13px;\n font-weight: 700;\n padding: 4px 10px;\n border-radius: 4px;\n min-width: 50px;\n text-align: center;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .response-status.status-2xx {\n background: #dcfce7;\n color: #166534;\n }\n\n [data-theme=\"dark\"] .response-status.status-2xx {\n background: #064e3b;\n color: #86efac;\n }\n\n .response-status.status-4xx {\n background: #fed7aa;\n color: #92400e;\n }\n\n [data-theme=\"dark\"] .response-status.status-4xx {\n background: #78350f;\n color: #fdba74;\n }\n\n .response-status.status-5xx {\n background: #fee2e2;\n color: #991b1b;\n }\n\n [data-theme=\"dark\"] .response-status.status-5xx {\n background: #7f1d1d;\n color: #fca5a5;\n }\n\n .response-desc {\n font-size: 14px;\n color: var(--text-color);\n }\n\n .response-body {\n display: none;\n padding: 16px;\n border-top: 1px solid var(--border-color);\n background: var(--code-bg);\n }\n\n .response-item.expanded .response-body {\n display: block;\n }\n\n .response-schema-label {\n font-size: 12px;\n color: var(--text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 12px;\n }\n\n .response-schema-label .content-type {\n margin-left: 8px;\n }\n\n .response-headers-section {\n margin-bottom: 20px;\n padding-bottom: 16px;\n border-bottom: 1px solid var(--border-color);\n }\n\n .response-headers-label {\n font-size: 12px;\n color: var(--text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 12px;\n }\n\n .response-header-row {\n display: flex;\n align-items: flex-start;\n padding: 8px 0;\n border-bottom: 1px solid var(--border-color);\n }\n\n .response-header-row:last-child {\n border-bottom: none;\n }\n\n .response-header-name {\n font-family: 'SF Mono', Monaco, Consolas, monospace;\n font-size: 13px;\n font-weight: 600;\n color: var(--text-color);\n min-width: 180px;\n margin-right: 16px;\n }\n\n .response-header-info {\n flex: 1;\n }\n\n .response-header-type {\n font-size: 12px;\n color: var(--primary-color);\n margin-bottom: 4px;\n }\n\n .response-header-desc {\n font-size: 13px;\n color: var(--text-muted);\n }\n\n .response-header-required {\n color: #ef4444;\n font-size: 11px;\n margin-left: 8px;\n }\n\n .docs-page-result {\n display: block;\n width: 100%;\n padding: 14px 16px;\n margin: 10px 0;\n border: 1px solid var(--border-color);\n border-radius: 8px;\n background: var(--bg-color);\n color: var(--text-color);\n text-align: left;\n cursor: pointer;\n }\n\n .docs-page-result:hover {\n border-color: var(--primary-color);\n background: var(--hover-bg);\n }\n\n .docs-page-result-title {\n display: block;\n font-weight: 600;\n }\n\n .docs-page-result-desc {\n display: block;\n margin-top: 4px;\n color: var(--text-muted);\n font-size: 14px;\n }\n\n .docs-pagination {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 16px;\n margin-top: 48px;\n padding-top: 24px;\n border-top: 1px solid var(--border-color);\n }\n\n .docs-pagination-link {\n min-height: 76px;\n padding: 14px 16px;\n border: 1px solid var(--border-color);\n border-radius: 8px;\n background: var(--bg-color);\n color: var(--text-color);\n text-align: left;\n cursor: pointer;\n }\n\n .docs-pagination-link:hover {\n border-color: var(--primary-color);\n background: var(--hover-bg);\n }\n\n .docs-pagination-next {\n text-align: right;\n justify-self: end;\n width: 100%;\n }\n\n .docs-pagination-label {\n display: block;\n color: var(--text-muted);\n font-size: 12px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .docs-pagination-title {\n display: block;\n margin-top: 6px;\n font-weight: 600;\n }\n\n /* Issue #123: Previous / Next page-nav cards.\n Uses only existing tokens (--border-color, --text-secondary,\n --text-primary). No shadows, no pill radius. */\n .page-nav-grid {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 16px;\n margin-top: 48px;\n padding-top: 24px;\n border-top: 1px solid var(--border-color);\n }\n\n .page-nav-card {\n display: flex;\n flex-direction: column;\n gap: 6px;\n min-height: 76px;\n padding: 14px 16px;\n border: 1px solid var(--border-color);\n background: transparent;\n color: var(--text-primary);\n text-align: left;\n cursor: pointer;\n font: inherit;\n }\n\n .page-nav-card:hover,\n .page-nav-card:focus-visible {\n border-color: var(--text-primary);\n }\n\n .page-nav-card-next {\n text-align: right;\n align-items: flex-end;\n }\n\n .page-nav-eyebrow {\n display: block;\n color: var(--text-secondary);\n font-size: 12px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .page-nav-title {\n display: block;\n color: var(--text-primary);\n font-weight: 600;\n }\n\n @media (max-width: 720px) {\n .page-nav-grid {\n grid-template-columns: 1fr;\n }\n .page-nav-card-prev {\n order: 0;\n }\n .page-nav-card-next {\n order: 1;\n text-align: left;\n align-items: flex-start;\n }\n }\n\n";
|
|
1
|
+
export declare const contentStyles = " /* ========== MAIN CONTENT ========== */\n .main {\n padding: 32px;\n overflow-y: auto;\n width: 100%;\n }\n\n /* ========== BREADCRUMBS ========== */\n .docs-breadcrumb {\n margin: 0 0 16px 0;\n font-size: 13px;\n color: var(--text-muted);\n }\n\n .docs-breadcrumb-list {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 6px;\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n .docs-breadcrumb-item {\n display: inline-flex;\n align-items: center;\n min-width: 0;\n }\n\n .docs-breadcrumb-link {\n color: var(--text-secondary);\n text-decoration: none;\n cursor: pointer;\n max-width: 240px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .docs-breadcrumb-link:hover {\n color: var(--primary-color);\n text-decoration: underline;\n }\n\n .docs-breadcrumb-label {\n color: var(--text-muted);\n max-width: 240px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .docs-breadcrumb-current {\n color: var(--text-secondary);\n font-weight: 500;\n max-width: 320px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .docs-breadcrumb-separator {\n color: var(--text-muted);\n user-select: none;\n }\n\n /* Mobile: keep first + last segments, ellipsise the middle. We cannot\n collapse via DOM at this layer (the resolver feeds the full chain), but\n on narrow screens we hide every link/label between the second and the\n last-but-one entries, leaving the first, an ellipsis, and the current\n page visible. Separators around hidden items are also hidden. */\n @media (max-width: 600px) {\n .docs-breadcrumb-list > .docs-breadcrumb-item:not(:first-child):not(:last-child) {\n display: none;\n }\n .docs-breadcrumb-list > .docs-breadcrumb-separator:nth-child(n+4):not(:nth-last-child(2)) {\n display: none;\n }\n .docs-breadcrumb-list > .docs-breadcrumb-item:first-child + .docs-breadcrumb-separator + .docs-breadcrumb-item:not(:last-child)::after {\n content: ' \\2026 ';\n color: var(--text-muted);\n margin-left: 4px;\n }\n .docs-breadcrumb-link,\n .docs-breadcrumb-label,\n .docs-breadcrumb-current {\n max-width: 140px;\n }\n }\n\n .section { margin-bottom: 48px; }\n\n .section-title {\n font-size: 28px;\n font-weight: 700;\n margin-bottom: 8px;\n color: var(--text-color);\n }\n\n .section-desc {\n color: var(--text-muted);\n margin-bottom: 24px;\n }\n\n /* ========== INTRODUCTION SECTION ========== */\n .intro-section {\n padding: 24px 32px;\n background: var(--surface-color);\n border-bottom: 1px solid var(--border-color);\n margin: -32px -32px 32px -32px;\n }\n\n .intro-section .markdown-content {\n max-width: 800px;\n }\n\n .intro-section .markdown-content h2 {\n font-size: 24px;\n font-weight: 600;\n margin: 32px 0 16px 0;\n color: var(--text-color);\n }\n\n .intro-section .markdown-content h2:first-child {\n margin-top: 0;\n }\n\n .intro-section .markdown-content p {\n font-size: 16px;\n line-height: 1.7;\n color: var(--text-color);\n margin-bottom: 16px;\n }\n\n .intro-section .markdown-content ul {\n margin: 16px 0;\n padding-left: 24px;\n }\n\n .intro-section .markdown-content li {\n font-size: 15px;\n line-height: 1.6;\n color: var(--text-color);\n margin-bottom: 8px;\n }\n\n .intro-section .markdown-content code {\n background: var(--code-bg);\n padding: 2px 6px;\n border-radius: 4px;\n font-size: 14px;\n font-family: 'SF Mono', Monaco, Consolas, monospace;\n }\n\n .intro-section .markdown-content pre {\n background: var(--code-bg);\n padding: 16px;\n border-radius: 8px;\n overflow-x: auto;\n margin: 16px 0;\n }\n\n .intro-section .markdown-content strong {\n font-weight: 600;\n color: var(--text-color);\n }\n\n /* ========== ROOT OVERVIEW (OpenAPI landing) ========== */\n .docs-overview {\n max-width: 820px;\n margin-bottom: 8px;\n }\n\n .docs-overview-header {\n margin: 0 0 12px 0;\n }\n\n .docs-overview-title {\n display: flex;\n align-items: baseline;\n flex-wrap: wrap;\n gap: 12px;\n font-size: 32px;\n font-weight: 700;\n line-height: 1.2;\n margin: 0;\n color: var(--text-color);\n }\n\n .docs-overview-version {\n font-size: 13px;\n font-weight: 600;\n letter-spacing: 0.02em;\n padding: 3px 10px;\n border-radius: 999px;\n color: var(--accent, var(--primary-color));\n background: color-mix(in srgb, var(--accent, var(--primary-color)) 14%, transparent);\n border: 1px solid color-mix(in srgb, var(--accent, var(--primary-color)) 35%, transparent);\n }\n\n .docs-overview-meta {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 10px;\n font-size: 14px;\n color: var(--text-muted);\n margin: 0 0 24px 0;\n }\n\n .docs-overview-meta a {\n color: var(--accent, var(--primary-color));\n text-decoration: none;\n }\n\n .docs-overview-meta a:hover {\n text-decoration: underline;\n }\n\n .docs-overview-meta-sep {\n color: var(--border-color);\n }\n\n .docs-overview-servers {\n margin: 0 0 28px 0;\n }\n\n .docs-overview-subtitle {\n font-size: 13px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.06em;\n color: var(--text-muted);\n margin: 0 0 12px 0;\n }\n\n .docs-overview-server-list {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n .docs-overview-server {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 12px;\n padding: 12px 16px;\n border: 1px solid var(--border-color);\n border-radius: 10px;\n background: var(--surface-color);\n }\n\n .docs-overview-server-url {\n font-family: 'SF Mono', Monaco, Consolas, monospace;\n font-size: 14px;\n color: var(--text-color);\n background: var(--code-bg);\n padding: 4px 10px;\n border-radius: 6px;\n word-break: break-all;\n }\n\n .docs-overview-server-desc {\n font-size: 14px;\n color: var(--text-muted);\n }\n\n .docs-overview-description {\n max-width: 820px;\n }\n\n /* ========== ENDPOINT SECTIONS (Redoc-style) ========== */\n .endpoint-section {\n padding: 24px 0;\n border-bottom: 1px solid var(--border-color);\n }\n\n .endpoint-section:last-child {\n border-bottom: none;\n }\n\n .endpoint-header {\n display: flex;\n align-items: flex-start;\n gap: 12px;\n margin-bottom: 14px;\n }\n\n .endpoint-method-path {\n display: flex;\n align-items: center;\n gap: 10px;\n flex-wrap: wrap;\n }\n\n .badge {\n display: inline-flex;\n align-items: center;\n padding: 4px 9px;\n border-radius: 4px;\n font-size: 11px;\n font-weight: 700;\n text-transform: uppercase;\n font-family: 'SF Mono', 'Monaco', monospace;\n letter-spacing: 0.5px;\n }\n\n .badge-get { background: #10b981; color: white; }\n .badge-post { background: #3b82f6; color: white; }\n .badge-put { background: #f59e0b; color: white; }\n .badge-patch { background: #8b5cf6; color: white; }\n .badge-delete { background: #ef4444; color: white; }\n\n .endpoint-path {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 14px;\n font-weight: 500;\n color: var(--text-color);\n }\n\n .endpoint-title {\n font-size: 21px;\n font-weight: 600;\n line-height: 1.3;\n margin-bottom: 6px;\n color: var(--text-color);\n }\n\n .endpoint-description {\n color: var(--text-muted);\n font-size: 13px;\n line-height: 1.55;\n margin-bottom: 18px;\n }\n\n /* Markdown content styles */\n .markdown-content {\n color: var(--text-primary);\n }\n\n .markdown-content a:not(.heading-anchor) {\n color: var(--primary-color);\n text-decoration: none;\n }\n\n .markdown-content a:not(.heading-anchor):hover {\n text-decoration: underline;\n }\n\n /* Heading anchor (#) \u2014 hidden by default, fades in on heading hover.\n Muted colour, no underline, no accent. Stripe/Vercel/GitHub pattern. */\n .markdown-content :is(.md-h1, .md-h2, .md-h3, .md-h4, .md-h5, .md-h6) > .heading-anchor {\n display: inline-block;\n margin-right: 8px;\n color: var(--text-muted);\n text-decoration: none;\n opacity: 0;\n transition: opacity 0.15s, color 0.15s;\n font-weight: 400;\n }\n\n .markdown-content :is(.md-h1, .md-h2, .md-h3, .md-h4, .md-h5, .md-h6):hover > .heading-anchor,\n .markdown-content .heading-anchor:focus-visible {\n opacity: 1;\n }\n\n .markdown-content .heading-anchor:hover {\n color: var(--text-secondary);\n }\n\n .markdown-content .md-h2 {\n font-size: 18px;\n font-weight: 600;\n color: var(--text-primary);\n margin: 24px 0 12px 0;\n padding-bottom: 8px;\n border-bottom: 1px solid var(--border);\n }\n\n .markdown-content .md-h3 {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-primary);\n margin: 20px 0 10px 0;\n }\n\n .markdown-content .md-h4 {\n font-size: 14px;\n font-weight: 600;\n color: var(--text-secondary);\n margin: 16px 0 8px 0;\n }\n\n .markdown-content .md-p {\n margin: 0 0 12px 0;\n color: var(--text-muted);\n }\n\n .markdown-content .md-list {\n margin: 12px 0;\n padding-left: 24px;\n }\n\n .markdown-content .md-list li {\n margin: 6px 0;\n color: var(--text-muted);\n }\n\n .markdown-content .md-inline-code {\n background: var(--bg-tertiary);\n padding: 2px 6px;\n border-radius: 4px;\n font-family: 'JetBrains Mono', 'Fira Code', 'SF Mono', monospace;\n font-size: 13px;\n color: var(--accent);\n }\n\n .markdown-content .emoji {\n display: inline-block;\n min-width: 1em;\n line-height: 1;\n vertical-align: -0.12em;\n }\n\n .markdown-content .docs-component-mount {\n margin: 16px 0;\n }\n\n .markdown-content .md-code-block {\n background: var(--bg-tertiary);\n border-radius: 6px;\n padding: 16px;\n margin: 16px 0;\n overflow-x: auto;\n }\n\n .markdown-content .md-code-wrap {\n position: relative;\n margin: 16px 0;\n }\n\n .markdown-content .copy-code-btn {\n position: absolute;\n top: 8px;\n right: 8px;\n border: 1px solid var(--border);\n border-radius: 4px;\n background: var(--bg-primary);\n color: var(--text-muted);\n padding: 4px 8px;\n font-size: 11px;\n line-height: 16px;\n cursor: pointer;\n }\n\n .markdown-content .copy-code-btn:hover {\n color: var(--text-primary);\n border-color: var(--primary-color);\n }\n\n .markdown-content .md-code-block[data-code-toolbar-enhanced=\"true\"] {\n padding-top: 32px;\n }\n\n .markdown-content .code-block-toolbar {\n position: absolute;\n top: 6px;\n right: 6px;\n left: 6px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n pointer-events: none;\n opacity: 0;\n transition: opacity 120ms ease;\n }\n\n .markdown-content pre:hover .code-block-toolbar,\n .markdown-content .code-block-toolbar:focus-within {\n opacity: 1;\n }\n\n @media (hover: none) {\n .markdown-content .code-block-toolbar {\n opacity: 1;\n }\n }\n\n .markdown-content .code-block-lang {\n pointer-events: auto;\n font-family: ui-monospace, 'JetBrains Mono', 'Fira Code', 'SF Mono', monospace;\n font-size: var(--font-size-xs, 11px);\n line-height: 1;\n color: var(--text-muted);\n text-transform: lowercase;\n letter-spacing: 0.02em;\n }\n\n .markdown-content .code-block-lang[hidden] {\n display: none;\n }\n\n .markdown-content .code-block-copy {\n pointer-events: auto;\n border: 1px solid var(--border-color);\n border-radius: 4px;\n background: transparent;\n color: var(--text-muted);\n padding: 2px 8px;\n font-family: ui-monospace, 'JetBrains Mono', 'Fira Code', 'SF Mono', monospace;\n font-size: var(--font-size-xs, 11px);\n line-height: 16px;\n cursor: pointer;\n transition: color 120ms ease, border-color 120ms ease;\n }\n\n .markdown-content .code-block-copy:hover,\n .markdown-content .code-block-copy:focus-visible {\n color: var(--text-secondary);\n border-color: var(--text-secondary);\n outline: none;\n }\n\n .markdown-content .md-code-block code {\n font-family: 'JetBrains Mono', 'Fira Code', 'SF Mono', monospace;\n font-size: 13px;\n line-height: 1.6;\n color: var(--text-primary);\n white-space: pre;\n }\n\n .markdown-content .token.comment,\n .markdown-content .token.prolog,\n .markdown-content .token.doctype,\n .markdown-content .token.cdata {\n color: var(--text-muted);\n }\n\n .markdown-content .token.punctuation {\n color: var(--text-secondary);\n }\n\n .markdown-content .token.property,\n .markdown-content .token.tag,\n .markdown-content .token.boolean,\n .markdown-content .token.number,\n .markdown-content .token.constant,\n .markdown-content .token.symbol {\n color: #b45309;\n }\n\n .markdown-content .token.selector,\n .markdown-content .token.attr-name,\n .markdown-content .token.string,\n .markdown-content .token.char,\n .markdown-content .token.builtin {\n color: #047857;\n }\n\n .markdown-content .token.operator,\n .markdown-content .token.entity,\n .markdown-content .token.url,\n .markdown-content .token.variable {\n color: #0f766e;\n }\n\n .markdown-content .token.atrule,\n .markdown-content .token.attr-value,\n .markdown-content .token.function,\n .markdown-content .token.class-name {\n color: #2563eb;\n }\n\n .markdown-content .token.keyword {\n color: #7c3aed;\n }\n\n [data-theme=\"dark\"] .markdown-content .token.property,\n [data-theme=\"dark\"] .markdown-content .token.tag,\n [data-theme=\"dark\"] .markdown-content .token.boolean,\n [data-theme=\"dark\"] .markdown-content .token.number,\n [data-theme=\"dark\"] .markdown-content .token.constant,\n [data-theme=\"dark\"] .markdown-content .token.symbol {\n color: #fcd34d;\n }\n\n [data-theme=\"dark\"] .markdown-content .token.selector,\n [data-theme=\"dark\"] .markdown-content .token.attr-name,\n [data-theme=\"dark\"] .markdown-content .token.string,\n [data-theme=\"dark\"] .markdown-content .token.char,\n [data-theme=\"dark\"] .markdown-content .token.builtin {\n color: #86efac;\n }\n\n [data-theme=\"dark\"] .markdown-content .token.function,\n [data-theme=\"dark\"] .markdown-content .token.class-name {\n color: #93c5fd;\n }\n\n [data-theme=\"dark\"] .markdown-content .token.keyword {\n color: #c4b5fd;\n }\n\n /*\n * Prism dark tokens also apply to theme: 'custom' under prefers-color-scheme\n * dark, mirroring the shell.ts default-token logic. Without this block,\n * consumers using customCss on a dark body inherit the light-mode token\n * colors (orange/green over dark, hard to scan) and have to rewrite all\n * 8 token classes themselves.\n */\n @media (prefers-color-scheme: dark) {\n [data-theme=\"custom\"] .markdown-content .token.property,\n [data-theme=\"custom\"] .markdown-content .token.tag,\n [data-theme=\"custom\"] .markdown-content .token.boolean,\n [data-theme=\"custom\"] .markdown-content .token.number,\n [data-theme=\"custom\"] .markdown-content .token.constant,\n [data-theme=\"custom\"] .markdown-content .token.symbol {\n color: #fcd34d;\n }\n\n [data-theme=\"custom\"] .markdown-content .token.selector,\n [data-theme=\"custom\"] .markdown-content .token.attr-name,\n [data-theme=\"custom\"] .markdown-content .token.string,\n [data-theme=\"custom\"] .markdown-content .token.char,\n [data-theme=\"custom\"] .markdown-content .token.builtin {\n color: #86efac;\n }\n\n [data-theme=\"custom\"] .markdown-content .token.function,\n [data-theme=\"custom\"] .markdown-content .token.class-name {\n color: #93c5fd;\n }\n\n [data-theme=\"custom\"] .markdown-content .token.keyword {\n color: #c4b5fd;\n }\n }\n\n .markdown-content .mermaid {\n position: relative;\n margin: 16px 0;\n padding: 16px;\n border: 1px solid var(--border);\n border-radius: 6px;\n background: var(--bg-primary);\n overflow: hidden;\n text-align: center;\n }\n\n /* Viewport \u2014 clips the scaled SVG so it doesn't overflow the card. */\n .markdown-content .mermaid .mermaid-viewport {\n position: relative;\n overflow: hidden;\n user-select: none;\n -webkit-user-select: none;\n }\n\n /* Toolbar \u2014 appears in the top-right corner, fades in on hover. */\n .markdown-content .mermaid .mermaid-toolbar {\n position: absolute;\n top: 10px;\n right: 10px;\n display: flex;\n gap: 4px;\n padding: 4px;\n background: var(--bg-secondary);\n border: 1px solid var(--border);\n border-radius: 6px;\n opacity: 0;\n transition: opacity 0.18s ease;\n z-index: 2;\n }\n .markdown-content .mermaid:hover .mermaid-toolbar,\n .markdown-content .mermaid:focus-within .mermaid-toolbar { opacity: 1; }\n\n .markdown-content .mermaid .mermaid-btn {\n width: 28px;\n height: 28px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: transparent;\n color: var(--text-secondary);\n border: 0;\n border-radius: 4px;\n cursor: pointer;\n font-family: ui-sans-serif, system-ui, sans-serif;\n font-size: 14px;\n line-height: 1;\n transition: background 0.15s ease, color 0.15s ease;\n }\n .markdown-content .mermaid .mermaid-btn:hover {\n background: var(--hover-bg);\n color: var(--text-primary);\n }\n .markdown-content .mermaid .mermaid-btn:focus-visible {\n outline: 2px solid var(--primary-color);\n outline-offset: 1px;\n }\n\n .markdown-content .mermaid-fallback,\n .markdown-content .mermaid-error {\n text-align: left;\n white-space: pre;\n font-family: 'JetBrains Mono', 'Fira Code', 'SF Mono', monospace;\n font-size: 13px;\n color: var(--text-muted);\n }\n\n .markdown-content .mermaid-error {\n border-left: 4px solid #d97706;\n }\n\n /* Fullscreen dialog \u2014 opened by the toolbar fullscreen button. */\n dialog.mermaid-fullscreen-dialog {\n width: 100vw;\n height: 100vh;\n max-width: 100vw;\n max-height: 100vh;\n margin: 0;\n padding: 0;\n border: 0;\n background: var(--bg-color);\n color: var(--text-primary);\n overflow: hidden;\n }\n dialog.mermaid-fullscreen-dialog::backdrop {\n background: rgba(0, 0, 0, 0.85);\n backdrop-filter: blur(6px);\n -webkit-backdrop-filter: blur(6px);\n }\n dialog.mermaid-fullscreen-dialog .mermaid-fullscreen-stage {\n width: 100vw;\n height: 100vh;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n user-select: none;\n -webkit-user-select: none;\n }\n dialog.mermaid-fullscreen-dialog .mermaid-fullscreen-stage svg {\n max-width: 92vw;\n max-height: 84vh;\n width: auto;\n height: auto;\n transition: transform 0.18s cubic-bezier(0.16, 1, 0.3, 1);\n }\n dialog.mermaid-fullscreen-dialog .mermaid-toolbar-fullscreen {\n position: fixed;\n top: 20px;\n left: 50%;\n transform: translateX(-50%);\n z-index: 3;\n background: var(--bg-secondary);\n border: 1px solid var(--border);\n border-radius: 8px;\n padding: 6px;\n display: flex;\n gap: 4px;\n opacity: 1;\n }\n dialog.mermaid-fullscreen-close {\n position: fixed;\n top: 20px;\n right: 24px;\n width: 36px;\n height: 36px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: var(--bg-secondary);\n color: var(--text-primary);\n border: 1px solid var(--border);\n border-radius: 50%;\n cursor: pointer;\n font-size: 16px;\n line-height: 1;\n z-index: 3;\n transition: background 0.15s ease;\n }\n dialog.mermaid-fullscreen-close:hover { background: var(--hover-bg); }\n dialog.mermaid-fullscreen-close:focus-visible {\n outline: 2px solid var(--primary-color);\n outline-offset: 2px;\n }\n\n .markdown-content .md-image {\n display: block;\n max-width: 100%;\n height: auto;\n margin: 16px 0;\n border-radius: 6px;\n border: 1px solid var(--border);\n cursor: zoom-in;\n }\n\n .markdown-content .md-image[data-no-zoom=\"true\"],\n .markdown-content .md-image.no-zoom {\n cursor: default;\n }\n\n .markdown-content .markdown-disabled {\n color: var(--text-muted);\n cursor: not-allowed;\n text-decoration: none;\n opacity: 0.68;\n }\n\n .image-zoom-overlay {\n position: fixed;\n inset: 0;\n z-index: 1000;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 32px;\n background: rgba(15, 23, 42, 0.82);\n cursor: zoom-out;\n }\n\n .image-zoom-img {\n max-width: min(100%, 1200px);\n max-height: 90vh;\n border-radius: 6px;\n box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35);\n cursor: default;\n }\n\n .image-zoom-close {\n position: fixed;\n top: 18px;\n right: 18px;\n width: 36px;\n height: 36px;\n border: 1px solid rgba(255, 255, 255, 0.35);\n border-radius: 50%;\n background: rgba(15, 23, 42, 0.75);\n color: #fff;\n font-size: 24px;\n line-height: 1;\n cursor: pointer;\n }\n\n .markdown-content .md-hr {\n border: 0;\n border-top: 1px solid var(--border);\n margin: 24px 0;\n }\n\n .markdown-content .md-table {\n border-collapse: collapse;\n margin: 16px 0;\n font-size: 14px;\n border-radius: 6px;\n overflow: hidden;\n border: 1px solid var(--border);\n }\n\n .markdown-content .md-table td,\n .markdown-content .md-table th {\n padding: 10px 16px;\n border-bottom: 1px solid var(--border);\n text-align: left;\n white-space: nowrap;\n }\n\n .markdown-content .md-table td:last-child {\n white-space: normal;\n }\n\n .markdown-content .md-table tr:first-child td {\n font-weight: 600;\n background: var(--bg-tertiary);\n color: var(--text-primary);\n font-size: 12px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .markdown-content .md-table tr:last-child td {\n border-bottom: none;\n }\n\n .markdown-content .md-table tr:hover:not(:first-child) {\n background: var(--bg-secondary);\n }\n\n .markdown-content .md-alert {\n border: 1px solid var(--border);\n border-left: 4px solid var(--primary-color);\n border-radius: 6px;\n padding: 12px 14px;\n margin: 16px 0;\n background: var(--bg-secondary);\n }\n\n .markdown-content .md-alert-title {\n color: var(--text-primary);\n font-weight: 600;\n margin-bottom: 6px;\n }\n\n .markdown-content .md-alert-warning,\n .markdown-content .md-alert-danger,\n .markdown-content .md-alert-caution,\n .markdown-content .md-alert-important {\n border-left-color: #d97706;\n }\n\n .markdown-content .md-tabs {\n border: 1px solid var(--border);\n border-radius: 6px;\n margin: 16px 0;\n overflow: hidden;\n background: var(--bg-primary);\n }\n\n .markdown-content .md-tab-list {\n display: flex;\n gap: 0;\n border-bottom: 1px solid var(--border);\n background: var(--bg-secondary);\n overflow-x: auto;\n }\n\n .markdown-content .md-tab-button {\n border: 0;\n border-right: 1px solid var(--border);\n background: transparent;\n color: var(--text-muted);\n padding: 10px 14px;\n font-size: 13px;\n cursor: pointer;\n white-space: nowrap;\n }\n\n .markdown-content .md-tab-button.active {\n background: var(--bg-primary);\n color: var(--text-primary);\n font-weight: 600;\n }\n\n .markdown-content .md-tab-panel {\n display: none;\n padding: 16px;\n }\n\n .markdown-content .md-tab-panel.active {\n display: block;\n }\n\n .markdown-content strong {\n color: var(--text-primary);\n font-weight: 600;\n }\n\n .markdown-content em {\n font-style: italic;\n }\n\n .endpoint-content {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 32px;\n }\n\n @media (min-width: 1400px) {\n .endpoint-content {\n grid-template-columns: 55% 45%;\n }\n }\n\n @media (max-width: 1200px) {\n .endpoint-content {\n grid-template-columns: 1fr;\n gap: 24px;\n }\n }\n\n .endpoint-left {\n min-width: 0; /* Prevent overflow */\n }\n\n .endpoint-right {\n position: sticky;\n top: 20px;\n align-self: start;\n min-width: 0; /* Prevent overflow */\n background: var(--code-panel-bg);\n border-radius: 8px;\n padding: 16px;\n color: var(--code-panel-text);\n }\n\n .endpoint-right-header {\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: #90a4ae;\n margin-bottom: 12px;\n padding-bottom: 7px;\n border-bottom: 1px solid rgba(255,255,255,0.1);\n }\n\n @media (max-width: 1200px) {\n .endpoint-right {\n position: static;\n }\n }\n\n .endpoint-subsection {\n margin-bottom: 20px;\n }\n\n .endpoint-subsection-title {\n font-size: 12px;\n font-weight: 600;\n color: var(--text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 8px;\n padding-bottom: 6px;\n border-bottom: 1px solid var(--border-color);\n }\n\n .endpoint-subsection p {\n margin-bottom: 12px;\n color: var(--text-color);\n }\n\n /* ========== REDOC-STYLE PARAMETER LABELS ========== */\n .subsection-label {\n font-size: 11px;\n font-weight: 600;\n color: var(--text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 10px;\n }\n\n .content-type {\n font-weight: 400;\n color: var(--text-color);\n text-transform: none;\n }\n\n .auth-value {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 14px;\n color: var(--text-color);\n margin-left: 8px;\n }\n\n /* ========== REDOC-STYLE PARAMETERS ========== */\n .param-row {\n display: flex;\n padding: 8px 10px;\n margin-bottom: 8px;\n border: 1px solid var(--border-color);\n border-radius: 6px;\n background: var(--surface-color);\n transition: border-color 0.15s, background 0.15s;\n }\n\n .param-row:hover {\n border-color: var(--primary-color);\n background: var(--hover-bg);\n }\n\n .param-row:last-child {\n margin-bottom: 0;\n }\n\n .param-tree {\n width: 20px;\n display: flex;\n align-items: flex-start;\n padding-top: 2px;\n color: var(--border-color);\n margin-right: 8px;\n }\n\n .param-tree-line {\n width: 10px;\n height: 10px;\n border-left: 1px solid var(--border-color);\n border-bottom: 1px solid var(--border-color);\n }\n\n .param-info {\n flex: 1;\n }\n\n .param-header {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 4px;\n flex-wrap: wrap;\n }\n\n .param-name-text {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 12px;\n font-weight: 600;\n color: var(--text-color);\n }\n\n .param-required-badge {\n font-size: 10px;\n font-weight: 700;\n padding: 2px 6px;\n border-radius: 4px;\n background: #fee2e2;\n color: #991b1b;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n }\n\n [data-theme=\"dark\"] .param-required-badge {\n background: #7f1d1d;\n color: #fca5a5;\n }\n\n .param-type-info {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 12px;\n padding: 2px 8px;\n border-radius: 4px;\n background: rgba(99, 102, 241, 0.1);\n color: #6366f1;\n }\n\n [data-theme=\"dark\"] .param-type-info {\n background: rgba(129, 140, 248, 0.15);\n color: #a5b4fc;\n }\n\n .param-type-info .format {\n color: #8b5cf6;\n }\n\n [data-theme=\"dark\"] .param-type-info .format {\n color: #c4b5fd;\n }\n\n .param-constraint {\n display: inline-block;\n font-size: 10px;\n padding: 3px 8px;\n border-radius: 4px;\n background: #fef3c7;\n color: #92400e;\n font-family: 'SF Mono', 'Monaco', monospace;\n margin-left: 4px;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n }\n\n [data-theme=\"dark\"] .param-constraint {\n background: #451a03;\n color: #fbbf24;\n }\n\n .param-default {\n font-size: 12px;\n color: var(--text-muted);\n margin-top: 6px;\n }\n\n .param-default code {\n background: var(--code-bg);\n padding: 3px 6px;\n border-radius: 3px;\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 11px;\n }\n\n .param-example {\n font-size: 12px;\n color: var(--text-muted);\n margin-top: 6px;\n }\n\n .param-example code {\n background: var(--code-bg);\n padding: 3px 6px;\n border-radius: 3px;\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 11px;\n }\n\n .param-description {\n font-size: 12px;\n color: var(--text-color);\n line-height: 1.4;\n margin-top: 4px;\n }\n\n /* ========== REDOC-STYLE RESPONSES ========== */\n .response-item {\n border: 1px solid var(--border-color);\n border-radius: 6px;\n margin-bottom: 8px;\n overflow: hidden;\n transition: border-color 0.15s, box-shadow 0.15s;\n }\n\n .response-item:hover {\n border-color: var(--primary-color);\n }\n\n .response-header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 12px;\n cursor: pointer;\n transition: background 0.15s;\n background: var(--surface-color);\n }\n\n .response-header:hover {\n background: var(--hover-bg);\n }\n\n .response-arrow {\n font-size: 11px;\n transition: transform 0.2s;\n color: var(--text-muted);\n width: 16px;\n text-align: center;\n }\n\n .response-item.expanded .response-arrow {\n transform: rotate(90deg);\n }\n\n .response-status {\n font-size: 12px;\n font-weight: 700;\n padding: 3px 8px;\n border-radius: 4px;\n min-width: 50px;\n text-align: center;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .response-status.status-2xx {\n background: #dcfce7;\n color: #166534;\n }\n\n [data-theme=\"dark\"] .response-status.status-2xx {\n background: #064e3b;\n color: #86efac;\n }\n\n .response-status.status-4xx {\n background: #fed7aa;\n color: #92400e;\n }\n\n [data-theme=\"dark\"] .response-status.status-4xx {\n background: #78350f;\n color: #fdba74;\n }\n\n .response-status.status-5xx {\n background: #fee2e2;\n color: #991b1b;\n }\n\n [data-theme=\"dark\"] .response-status.status-5xx {\n background: #7f1d1d;\n color: #fca5a5;\n }\n\n .response-desc {\n font-size: 12px;\n color: var(--text-color);\n }\n\n .response-body {\n display: none;\n padding: 12px;\n border-top: 1px solid var(--border-color);\n background: var(--code-bg);\n }\n\n .response-item.expanded .response-body {\n display: block;\n }\n\n .response-schema-label {\n font-size: 12px;\n color: var(--text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 8px;\n }\n\n .response-schema-label .content-type {\n margin-left: 8px;\n }\n\n .response-headers-section {\n margin-bottom: 14px;\n padding-bottom: 10px;\n border-bottom: 1px solid var(--border-color);\n }\n\n .response-headers-label {\n font-size: 12px;\n color: var(--text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 8px;\n }\n\n .response-header-row {\n display: flex;\n align-items: flex-start;\n padding: 5px 0;\n border-bottom: 1px solid var(--border-color);\n }\n\n .response-header-row:last-child {\n border-bottom: none;\n }\n\n .response-header-name {\n font-family: 'SF Mono', Monaco, Consolas, monospace;\n font-size: 12px;\n font-weight: 600;\n color: var(--text-color);\n min-width: 150px;\n margin-right: 12px;\n }\n\n .response-header-info {\n flex: 1;\n }\n\n .response-header-type {\n font-size: 11px;\n color: var(--primary-color);\n margin-bottom: 4px;\n }\n\n .response-header-desc {\n font-size: 12px;\n color: var(--text-muted);\n }\n\n .response-header-required {\n color: #ef4444;\n font-size: 11px;\n margin-left: 8px;\n }\n\n .docs-page-result {\n display: block;\n width: 100%;\n padding: 14px 16px;\n margin: 10px 0;\n border: 1px solid var(--border-color);\n border-radius: 8px;\n background: var(--bg-color);\n color: var(--text-color);\n text-align: left;\n cursor: pointer;\n }\n\n .docs-page-result:hover {\n border-color: var(--primary-color);\n background: var(--hover-bg);\n }\n\n .docs-page-result-title {\n display: block;\n font-weight: 600;\n }\n\n .docs-page-result-desc {\n display: block;\n margin-top: 4px;\n color: var(--text-muted);\n font-size: 14px;\n }\n\n .docs-pagination {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 16px;\n margin-top: 48px;\n padding-top: 24px;\n border-top: 1px solid var(--border-color);\n }\n\n .docs-pagination-link {\n min-height: 76px;\n padding: 14px 16px;\n border: 1px solid var(--border-color);\n border-radius: 8px;\n background: var(--bg-color);\n color: var(--text-color);\n text-align: left;\n cursor: pointer;\n }\n\n .docs-pagination-link:hover {\n border-color: var(--primary-color);\n background: var(--hover-bg);\n }\n\n .docs-pagination-next {\n text-align: right;\n justify-self: end;\n width: 100%;\n }\n\n .docs-pagination-label {\n display: block;\n color: var(--text-muted);\n font-size: 12px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .docs-pagination-title {\n display: block;\n margin-top: 6px;\n font-weight: 600;\n }\n\n /* Issue #123: Previous / Next page-nav cards.\n Uses only existing tokens (--border-color, --text-secondary,\n --text-primary). No shadows, no pill radius. */\n .page-nav-grid {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 16px;\n margin-top: 48px;\n padding-top: 24px;\n border-top: 1px solid var(--border-color);\n }\n\n .page-nav-card {\n display: flex;\n flex-direction: column;\n gap: 6px;\n min-height: 76px;\n padding: 14px 16px;\n border: 1px solid var(--border-color);\n background: transparent;\n color: var(--text-primary);\n text-align: left;\n cursor: pointer;\n font: inherit;\n }\n\n .page-nav-card:hover,\n .page-nav-card:focus-visible {\n border-color: var(--text-primary);\n }\n\n .page-nav-card-next {\n text-align: right;\n align-items: flex-end;\n }\n\n .page-nav-eyebrow {\n display: block;\n color: var(--text-secondary);\n font-size: 12px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .page-nav-title {\n display: block;\n color: var(--text-primary);\n font-weight: 600;\n }\n\n @media (max-width: 720px) {\n .page-nav-grid {\n grid-template-columns: 1fr;\n }\n .page-nav-card-prev {\n order: 0;\n }\n .page-nav-card-next {\n order: 1;\n text-align: left;\n align-items: flex-start;\n }\n }\n\n";
|
|
2
2
|
//# sourceMappingURL=content.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../../../src/docs/ui/style-sections/content.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../../../src/docs/ui/style-sections/content.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,kvqCAq+CzB,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const layoutNavigationStyles = " /* ========== LAYOUT ========== */\n .skip-link {\n position: fixed;\n top: 12px;\n left: 12px;\n z-index: 1000;\n transform: translateY(-160%);\n padding: 10px 14px;\n border-radius: 6px;\n background: var(--primary-color);\n color: white;\n font-weight: 600;\n text-decoration: none;\n box-shadow: 0 8px 24px rgba(0,0,0,0.18);\n transition: transform 0.15s ease;\n }\n\n .skip-link:focus {\n transform: translateY(0);\n outline: 2px solid white;\n outline-offset: 2px;\n }\n\n .app-container {\n display: grid;\n grid-template-columns: 300px 1fr;\n min-height: calc(100vh - 300px);\n }\n\n .app-container-no-sidebar {\n grid-template-columns: 1fr;\n }\n\n .main-shell {\n display: grid;\n grid-template-columns: 1fr 380px;\n align-items: stretch;\n min-width: 0;\n gap: 0;\n }\n\n /* Drop the (empty) TOC gutter on endpoint views so the operation's\n two-column content \u2014 docs + samples panel \u2014 can use the full width. */\n .main-shell.main-shell-no-toc {\n grid-template-columns: minmax(0, 1fr);\n }\n\n .main-shell.main-shell-no-toc .toc {\n display: none;\n }\n\n /* ========== SIDEBAR ========== */\n .sidebar {\n background: var(--sidebar-bg);\n border-right: 1px solid var(--border-color);\n padding: 24px 0;\n overflow-y: auto;\n position: sticky;\n top: 0;\n height: 100vh;\n }\n\n .sidebar-hidden {\n display: none;\n }\n\n .sidebar-header {\n padding: 0 20px 20px;\n border-bottom: 1px solid var(--border-color);\n margin-bottom: 16px;\n }\n\n .sidebar-logo {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 16px;\n }\n\n .sidebar-logo img { height: 32px; }\n .sidebar-logo h1 { font-size: 18px; font-weight: 600; }\n\n .sidebar-search {\n position: relative;\n }\n\n .sidebar-search input {\n width: 100%;\n padding: 10px 12px 10px 36px;\n border: 1px solid var(--border-color);\n border-radius: 8px;\n font-size: 14px;\n background: var(--bg-color);\n color: var(--text-color);\n outline: none;\n transition: border-color 0.2s;\n }\n\n .sidebar-search input:focus {\n border-color: var(--primary-color);\n }\n\n .sidebar-search::before {\n content: '\uD83D\uDD0D';\n position: absolute;\n left: 12px;\n top: 50%;\n transform: translateY(-50%);\n font-size: 14px;\n }\n\n .protocol-tabs {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n padding: 0 20px;\n margin-bottom: 20px;\n }\n\n .protocol-tab {\n padding: 6px 12px;\n border-radius: 20px;\n font-size: 12px;\n font-weight: 500;\n cursor: pointer;\n background: var(--code-bg);\n border: 1px solid var(--border-color);\n color: var(--text-color);\n transition: all 0.2s;\n }\n\n .protocol-tab:hover {\n border-color: var(--primary-color);\n }\n\n .protocol-tab.active {\n background: var(--primary-color);\n color: white;\n border-color: var(--primary-color);\n }\n\n .protocol-tab .count {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 18px;\n height: 18px;\n padding: 0 5px;\n margin-left: 6px;\n font-size: 10px;\n border-radius: 9px;\n background: rgba(0,0,0,0.15);\n }\n\n .protocol-tab.active .count {\n background: rgba(255,255,255,0.25);\n }\n\n /* ========== TAG GROUPS ========== */\n .sidebar-nav {\n padding: 0 12px;\n }\n\n .tag-group {\n margin-bottom: 8px;\n }\n\n .tag-group-header {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 10px 12px;\n border-radius: 8px;\n cursor: pointer;\n font-size: 14px;\n font-weight: 600;\n color: var(--text-secondary);\n transition: all 0.2s;\n }\n\n .tag-group-header:hover {\n background: var(--hover-bg);\n color: var(--text-color);\n }\n\n .tag-group-header.active {\n color: var(--primary-color);\n }\n\n .tag-group-arrow {\n transition: transform 0.2s;\n font-size: 10px;\n }\n\n .tag-group.collapsed .tag-group-arrow {\n transform: rotate(-90deg);\n }\n\n .tag-group-count {\n margin-left: auto;\n font-size: 11px;\n color: var(--text-muted);\n font-weight: 400;\n }\n\n .tag-group-items {\n padding-left: 8px;\n overflow: hidden;\n transition: max-height 0.3s ease;\n }\n\n .tag-group.collapsed .tag-group-items {\n max-height: 0 !important;\n }\n\n .nav-item {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 6px 12px 6px 14px;\n border-left: 2px solid transparent;\n border-radius: 0;\n text-decoration: none;\n color: var(--text-secondary);\n font-size: var(--font-size-small);\n cursor: pointer;\n transition: color 0.15s, border-color 0.15s;\n }\n\n .nav-item:hover {\n color: var(--text-primary);\n }\n\n .nav-item.active {\n color: var(--text-primary);\n border-left-color: var(--primary-color);\n font-weight: 600;\n }\n\n .nav-subitems {\n display: grid;\n gap: 2px;\n margin: 2px 0 8px 12px;\n padding-left: 12px;\n border-left: 1px solid var(--border-color);\n }\n\n .nav-subitem {\n appearance: none;\n border: 0;\n background: transparent;\n color: var(--text-muted);\n cursor: pointer;\n font: inherit;\n font-size: 12px;\n line-height: 1.35;\n padding: 5px 8px;\n text-align: left;\n border-radius: 5px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .nav-subitem-level-3,\n .nav-subitem-level-4,\n .nav-subitem-level-5,\n .nav-subitem-level-6 {\n margin-left: 10px;\n }\n\n .nav-subitem:hover {\n color: var(--text-primary);\n }\n\n .nav-subitem.active {\n color: var(--text-primary);\n font-weight: 600;\n box-shadow: inset 2px 0 0 var(--primary-color);\n }\n\n .docs-sidebar-depth-1 { margin-left: 4px; }\n .docs-sidebar-depth-2 { margin-left: 10px; }\n .docs-sidebar-depth-3,\n .docs-sidebar-depth-4,\n .docs-sidebar-depth-5,\n .docs-sidebar-depth-6 { margin-left: 16px; }\n\n .nav-item-intro {\n margin-bottom: 16px;\n padding: 10px 12px;\n background: var(--surface-color);\n border: 1px solid var(--border-color);\n font-weight: 500;\n }\n\n .nav-item-intro:hover {\n background: var(--hover-bg);\n border-color: var(--primary-color);\n }\n\n .nav-item-intro .nav-item-icon {\n font-size: 16px;\n }\n\n .nav-item-intro .nav-item-text {\n font-size: 14px;\n }\n\n .nav-item-method {\n font-size: 10px;\n font-weight: 600;\n padding: 1px 4px;\n border: 1px solid var(--border-color);\n border-radius: 2px;\n text-transform: uppercase;\n font-family: ui-monospace, SFMono-Regular, Menlo, monospace;\n color: var(--text-secondary);\n background: transparent;\n letter-spacing: 0.02em;\n }\n\n /* Method classes kept for HTML compatibility but visually unified.\n The DELETE verb gets the only chromatic accent \u2014 destructive\n intent earns visual weight. */\n .method-get,\n .method-post,\n .method-put,\n .method-patch,\n .method-ws,\n .method-stream,\n .method-rpc,\n .method-grpc {\n color: var(--text-secondary);\n background: transparent;\n border-color: var(--border-color);\n }\n\n .method-delete {\n color: var(--primary-color);\n border-color: var(--primary-color);\n background: transparent;\n }\n\n .nav-item-path {\n font-family: ui-monospace, SFMono-Regular, Menlo, monospace;\n font-size: 13px;\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n /* ========== Floating utility buttons (theme toggle, back-to-top) ========== */\n .icon-button {\n appearance: none;\n background: transparent;\n color: var(--text-secondary);\n border: 1px solid var(--border-color);\n border-radius: 4px;\n padding: 4px 10px;\n font-size: var(--font-size-small);\n font-family: inherit;\n font-weight: 500;\n cursor: pointer;\n line-height: 1.2;\n transition: color 0.15s, border-color 0.15s;\n }\n\n .icon-button:hover {\n color: var(--text-primary);\n border-color: var(--text-secondary);\n }\n\n .icon-button:focus-visible {\n outline: 2px solid var(--primary-color);\n outline-offset: 2px;\n }\n\n .back-to-top {\n position: fixed;\n bottom: 24px;\n right: 24px;\n z-index: 50;\n appearance: none;\n background: var(--bg-color);\n color: var(--text-secondary);\n border: 1px solid var(--border-color);\n border-radius: 4px;\n padding: 6px 12px;\n font-size: var(--font-size-small);\n font-family: inherit;\n font-weight: 500;\n cursor: pointer;\n line-height: 1.2;\n opacity: 0;\n pointer-events: none;\n transform: translateY(8px);\n transition: opacity 0.2s, transform 0.2s, color 0.15s, border-color 0.15s;\n }\n\n .back-to-top.visible {\n opacity: 1;\n pointer-events: auto;\n transform: translateY(0);\n }\n\n .back-to-top::before {\n content: '\\2191';\n margin-right: 6px;\n font-weight: 400;\n }\n\n .back-to-top:hover {\n color: var(--text-primary);\n border-color: var(--text-secondary);\n }\n\n .back-to-top:focus-visible {\n outline: 2px solid var(--primary-color);\n outline-offset: 2px;\n }\n\n @media (max-width: 1200px) {\n .main-shell {\n grid-template-columns: 1fr;\n }\n .toc {\n display: none;\n }\n }\n\n .docs-pages-group > .tag-group-header {\n color: var(--text-primary);\n background: var(--hover-bg);\n border-left: 3px solid var(--primary-color);\n padding-left: 9px;\n margin-bottom: 4px;\n letter-spacing: 0.01em;\n }\n\n .docs-pages-group > .tag-group-header:hover {\n background: var(--hover-bg);\n opacity: 0.85;\n }\n\n .docs-sidebar-home {\n display: flex;\n align-items: center;\n gap: 6px;\n }\n\n .docs-sidebar-home-icon {\n flex-shrink: 0;\n opacity: 0.7;\n }\n\n /* ========== TOC / TRY IT OUT PANEL (ReDoc-style right panel) ========== */\n .toc {\n align-self: stretch;\n position: sticky;\n top: 0;\n padding: 24px;\n border-left: 1px solid var(--border-color);\n font-size: var(--font-size-small);\n line-height: 1.5;\n max-height: 100vh;\n overflow-y: auto;\n background: #263238;\n color: #eceff1;\n }\n\n [data-theme=\"light\"] .toc {\n background: #f5f7fa;\n color: #263238;\n border-left-color: #e0e0e0;\n }\n\n .toc:empty {\n border: 0;\n padding: 0;\n }\n\n .toc-title {\n color: #90caf9;\n font-size: var(--font-size-xs);\n font-weight: 600;\n letter-spacing: 0.04em;\n margin: 0 0 16px;\n text-transform: uppercase;\n }\n\n [data-theme=\"light\"] .toc-title {\n color: #1976d2;\n }\n\n .toc-link {\n display: block;\n padding: 6px 0;\n color: #b0bec5;\n text-decoration: none;\n border-left: 3px solid transparent;\n margin-left: -24px;\n padding-left: 21px;\n transition: color 0.15s, border-color 0.15s;\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 12px;\n }\n\n .toc-link:hover {\n color: #e0e0e0;\n border-left-color: #90caf9;\n }\n\n [data-theme=\"light\"] .toc-link {\n color: #666;\n }\n\n [data-theme=\"light\"] .toc-link:hover {\n color: #263238;\n border-left-color: #1976d2;\n }\n\n .toc-link.active {\n color: #e0e0e0;\n border-left-color: #90caf9;\n font-weight: 600;\n }\n\n [data-theme=\"light\"] .toc-link.active {\n color: #263238;\n border-left-color: #1976d2;\n }\n\n .toc-level-2 { padding-left: 27px; }\n .toc-level-3 { padding-left: 39px; }\n .toc-level-4 { padding-left: 51px; }\n .toc-level-5 { padding-left: 63px; }\n .toc-level-6 { padding-left: 75px; }\n /* ========== SEARCH MODAL (cmd+K) ========== */\n dialog.search-modal {\n padding: 0;\n border: 1px solid var(--border-color);\n border-radius: 12px;\n background: var(--bg-color);\n color: var(--text-color);\n width: min(640px, calc(100vw - 32px));\n max-width: 640px;\n max-height: 70vh;\n box-shadow: 0 20px 60px rgba(0,0,0,0.25);\n margin: auto;\n }\n\n dialog.search-modal::backdrop {\n background: rgba(0, 0, 0, 0.45);\n }\n\n dialog.search-modal:not([open]) {\n display: none;\n }\n\n .search-modal-inner {\n display: flex;\n flex-direction: column;\n max-height: 70vh;\n }\n\n .search-modal-input-row {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 14px 16px;\n border-bottom: 1px solid var(--border-color);\n }\n\n .search-modal-input {\n flex: 1;\n width: 100%;\n padding: 8px 10px;\n border: 1px solid var(--border-color);\n border-radius: 6px;\n background: var(--bg-color);\n color: var(--text-color);\n font-size: 15px;\n font-family: inherit;\n outline: none;\n }\n\n .search-modal-input:focus {\n border-color: var(--primary-color);\n }\n\n .search-modal-close {\n padding: 6px 10px;\n font-size: 12px;\n font-family: 'SF Mono', 'Monaco', monospace;\n color: var(--text-muted);\n background: var(--surface-color);\n border: 1px solid var(--border-color);\n border-radius: 6px;\n cursor: pointer;\n }\n\n .search-modal-close:hover {\n color: var(--text-color);\n background: var(--hover-bg);\n }\n\n .search-modal-results {\n overflow-y: auto;\n flex: 1;\n padding: 8px 8px 12px;\n }\n\n .search-modal-empty {\n padding: 24px 16px;\n color: var(--text-muted);\n text-align: center;\n font-size: 14px;\n }\n\n .search-modal-group {\n padding: 4px 0;\n }\n\n .search-modal-group-heading {\n padding: 8px 12px 4px;\n font-size: 11px;\n font-weight: 600;\n letter-spacing: 0.06em;\n text-transform: uppercase;\n color: var(--text-muted);\n }\n\n .search-modal-result {\n display: flex;\n flex-direction: column;\n gap: 2px;\n width: 100%;\n padding: 10px 12px;\n margin: 2px 0;\n text-align: left;\n background: transparent;\n border: 1px solid transparent;\n border-radius: 8px;\n cursor: pointer;\n color: var(--text-color);\n font-family: inherit;\n }\n\n .search-modal-result:focus,\n .search-modal-result.is-highlighted {\n background: var(--hover-bg);\n border-color: var(--border-color);\n outline: none;\n }\n\n .search-modal-result-title {\n font-size: 14px;\n font-weight: 600;\n }\n\n .search-modal-result-desc {\n font-size: 12px;\n color: var(--text-muted);\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n\n";
|
|
1
|
+
export declare const layoutNavigationStyles = " /* ========== LAYOUT ========== */\n .skip-link {\n position: fixed;\n top: 12px;\n left: 12px;\n z-index: 1000;\n transform: translateY(-160%);\n padding: 10px 14px;\n border-radius: 6px;\n background: var(--primary-color);\n color: white;\n font-weight: 600;\n text-decoration: none;\n box-shadow: 0 8px 24px rgba(0,0,0,0.18);\n transition: transform 0.15s ease;\n }\n\n .skip-link:focus {\n transform: translateY(0);\n outline: 2px solid white;\n outline-offset: 2px;\n }\n\n .app-container {\n display: grid;\n grid-template-columns: 280px 1fr;\n min-height: calc(100vh - 300px);\n }\n\n .app-container-no-sidebar {\n grid-template-columns: 1fr;\n }\n\n .main-shell {\n display: grid;\n grid-template-columns: 1fr 380px;\n align-items: stretch;\n min-width: 0;\n gap: 0;\n }\n\n /* Drop the (empty) TOC gutter on endpoint views so the operation's\n two-column content \u2014 docs + samples panel \u2014 can use the full width. */\n .main-shell.main-shell-no-toc {\n grid-template-columns: minmax(0, 1fr);\n }\n\n .main-shell.main-shell-no-toc .toc {\n display: none;\n }\n\n /* ========== SIDEBAR ========== */\n .sidebar {\n background: var(--sidebar-bg);\n border-right: 1px solid var(--border-color);\n padding: 18px 0;\n overflow-y: auto;\n position: sticky;\n top: 0;\n height: 100vh;\n }\n\n .sidebar-hidden {\n display: none;\n }\n\n .sidebar-header {\n padding: 0 14px 14px;\n border-bottom: 1px solid var(--border-color);\n margin-bottom: 12px;\n }\n\n .sidebar-logo {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 16px;\n }\n\n .sidebar-logo img { height: 32px; }\n .sidebar-logo h1 { font-size: 18px; font-weight: 600; }\n\n .sidebar-search {\n position: relative;\n }\n\n .sidebar-search input {\n width: 100%;\n padding: 8px 10px 8px 32px;\n border: 1px solid var(--border-color);\n border-radius: 8px;\n font-size: var(--font-size-small);\n background: var(--bg-color);\n color: var(--text-color);\n outline: none;\n transition: border-color 0.2s;\n }\n\n .sidebar-search input:focus {\n border-color: var(--primary-color);\n }\n\n .sidebar-search::before {\n content: '\uD83D\uDD0D';\n position: absolute;\n left: 10px;\n top: 50%;\n transform: translateY(-50%);\n font-size: var(--font-size-small);\n }\n\n .protocol-tabs {\n display: flex;\n flex-wrap: wrap;\n gap: 5px;\n padding: 0 14px;\n margin-bottom: 14px;\n }\n\n .protocol-tab {\n padding: 5px 10px;\n border-radius: 20px;\n font-size: 11px;\n font-weight: 500;\n cursor: pointer;\n background: var(--code-bg);\n border: 1px solid var(--border-color);\n color: var(--text-color);\n transition: all 0.2s;\n }\n\n .protocol-tab:hover {\n border-color: var(--primary-color);\n }\n\n .protocol-tab.active {\n background: var(--primary-color);\n color: white;\n border-color: var(--primary-color);\n }\n\n .protocol-tab .count {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 18px;\n height: 18px;\n padding: 0 5px;\n margin-left: 6px;\n font-size: 10px;\n border-radius: 9px;\n background: rgba(0,0,0,0.15);\n }\n\n .protocol-tab.active .count {\n background: rgba(255,255,255,0.25);\n }\n\n /* ========== TAG GROUPS ========== */\n .sidebar-nav {\n padding: 0 10px;\n }\n\n .tag-group {\n margin-bottom: 8px;\n }\n\n .tag-group-header {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 8px 10px;\n border-radius: 8px;\n cursor: pointer;\n font-size: 13px;\n font-weight: 600;\n color: var(--text-secondary);\n transition: all 0.2s;\n }\n\n .tag-group-header:hover {\n background: var(--hover-bg);\n color: var(--text-color);\n }\n\n .tag-group-header.active {\n color: var(--primary-color);\n }\n\n .tag-group-arrow {\n transition: transform 0.2s;\n font-size: 10px;\n }\n\n .tag-group.collapsed .tag-group-arrow {\n transform: rotate(-90deg);\n }\n\n .tag-group-count {\n margin-left: auto;\n font-size: 11px;\n color: var(--text-muted);\n font-weight: 400;\n }\n\n .tag-group-items {\n padding-left: 8px;\n overflow: hidden;\n transition: max-height 0.3s ease;\n }\n\n .tag-group.collapsed .tag-group-items {\n max-height: 0 !important;\n }\n\n .nav-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 4px 10px 4px 12px;\n border-left: 2px solid transparent;\n border-radius: 0;\n text-decoration: none;\n color: var(--text-secondary);\n font-size: var(--font-size-small);\n cursor: pointer;\n transition: color 0.15s, border-color 0.15s;\n }\n\n .nav-item:hover {\n color: var(--text-primary);\n }\n\n .nav-item.active {\n color: var(--text-primary);\n border-left-color: var(--primary-color);\n font-weight: 600;\n }\n\n .nav-subitems {\n display: grid;\n gap: 2px;\n margin: 2px 0 8px 12px;\n padding-left: 12px;\n border-left: 1px solid var(--border-color);\n }\n\n .nav-subitem {\n appearance: none;\n border: 0;\n background: transparent;\n color: var(--text-muted);\n cursor: pointer;\n font: inherit;\n font-size: 11px;\n line-height: 1.35;\n padding: 4px 7px;\n text-align: left;\n border-radius: 5px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .nav-subitem-level-3,\n .nav-subitem-level-4,\n .nav-subitem-level-5,\n .nav-subitem-level-6 {\n margin-left: 10px;\n }\n\n .nav-subitem:hover {\n color: var(--text-primary);\n }\n\n .nav-subitem.active {\n color: var(--text-primary);\n font-weight: 600;\n box-shadow: inset 2px 0 0 var(--primary-color);\n }\n\n .docs-sidebar-depth-1 { margin-left: 4px; }\n .docs-sidebar-depth-2 { margin-left: 10px; }\n .docs-sidebar-depth-3,\n .docs-sidebar-depth-4,\n .docs-sidebar-depth-5,\n .docs-sidebar-depth-6 { margin-left: 16px; }\n\n .nav-item-intro {\n margin-bottom: 12px;\n padding: 8px 10px;\n background: var(--surface-color);\n border: 1px solid var(--border-color);\n font-weight: 500;\n }\n\n .nav-item-intro:hover {\n background: var(--hover-bg);\n border-color: var(--primary-color);\n }\n\n .nav-item-intro .nav-item-icon {\n font-size: 16px;\n }\n\n .nav-item-intro .nav-item-text {\n font-size: 13px;\n }\n\n .nav-item-method {\n font-size: 9px;\n font-weight: 600;\n padding: 1px 4px;\n border: 1px solid var(--border-color);\n border-radius: 2px;\n text-transform: uppercase;\n font-family: ui-monospace, SFMono-Regular, Menlo, monospace;\n color: var(--text-secondary);\n background: transparent;\n letter-spacing: 0.02em;\n }\n\n /* Method classes kept for HTML compatibility but visually unified.\n The DELETE verb gets the only chromatic accent \u2014 destructive\n intent earns visual weight. */\n .method-get,\n .method-post,\n .method-put,\n .method-patch,\n .method-ws,\n .method-stream,\n .method-rpc,\n .method-grpc {\n color: var(--text-secondary);\n background: transparent;\n border-color: var(--border-color);\n }\n\n .method-delete {\n color: var(--primary-color);\n border-color: var(--primary-color);\n background: transparent;\n }\n\n .nav-item-path {\n font-family: ui-monospace, SFMono-Regular, Menlo, monospace;\n font-size: 12px;\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n /* ========== Floating utility buttons (theme toggle, back-to-top) ========== */\n .icon-button {\n appearance: none;\n background: transparent;\n color: var(--text-secondary);\n border: 1px solid var(--border-color);\n border-radius: 4px;\n padding: 4px 10px;\n font-size: var(--font-size-small);\n font-family: inherit;\n font-weight: 500;\n cursor: pointer;\n line-height: 1.2;\n transition: color 0.15s, border-color 0.15s;\n }\n\n .icon-button:hover {\n color: var(--text-primary);\n border-color: var(--text-secondary);\n }\n\n .icon-button:focus-visible {\n outline: 2px solid var(--primary-color);\n outline-offset: 2px;\n }\n\n .back-to-top {\n position: fixed;\n bottom: 24px;\n right: 24px;\n z-index: 50;\n appearance: none;\n background: var(--bg-color);\n color: var(--text-secondary);\n border: 1px solid var(--border-color);\n border-radius: 4px;\n padding: 6px 12px;\n font-size: var(--font-size-small);\n font-family: inherit;\n font-weight: 500;\n cursor: pointer;\n line-height: 1.2;\n opacity: 0;\n pointer-events: none;\n transform: translateY(8px);\n transition: opacity 0.2s, transform 0.2s, color 0.15s, border-color 0.15s;\n }\n\n .back-to-top.visible {\n opacity: 1;\n pointer-events: auto;\n transform: translateY(0);\n }\n\n .back-to-top::before {\n content: '\\2191';\n margin-right: 6px;\n font-weight: 400;\n }\n\n .back-to-top:hover {\n color: var(--text-primary);\n border-color: var(--text-secondary);\n }\n\n .back-to-top:focus-visible {\n outline: 2px solid var(--primary-color);\n outline-offset: 2px;\n }\n\n @media (max-width: 1200px) {\n .main-shell {\n grid-template-columns: 1fr;\n }\n .toc {\n display: none;\n }\n }\n\n .docs-pages-group > .tag-group-header {\n color: var(--text-primary);\n background: var(--hover-bg);\n border-left: 3px solid var(--primary-color);\n padding-left: 9px;\n margin-bottom: 4px;\n letter-spacing: 0.01em;\n }\n\n .docs-pages-group > .tag-group-header:hover {\n background: var(--hover-bg);\n opacity: 0.85;\n }\n\n .docs-sidebar-home {\n display: flex;\n align-items: center;\n gap: 6px;\n }\n\n .docs-sidebar-home-icon {\n flex-shrink: 0;\n opacity: 0.7;\n }\n\n /* ========== TOC / TRY IT OUT PANEL (ReDoc-style right panel) ========== */\n .toc {\n align-self: stretch;\n position: sticky;\n top: 0;\n padding: 24px;\n border-left: 1px solid var(--border-color);\n font-size: var(--font-size-small);\n line-height: 1.5;\n max-height: 100vh;\n overflow-y: auto;\n background: #263238;\n color: #eceff1;\n }\n\n [data-theme=\"light\"] .toc {\n background: #f5f7fa;\n color: #263238;\n border-left-color: #e0e0e0;\n }\n\n .toc:empty {\n border: 0;\n padding: 0;\n }\n\n .toc-title {\n color: #90caf9;\n font-size: var(--font-size-xs);\n font-weight: 600;\n letter-spacing: 0.04em;\n margin: 0 0 16px;\n text-transform: uppercase;\n }\n\n [data-theme=\"light\"] .toc-title {\n color: #1976d2;\n }\n\n .toc-link {\n display: block;\n padding: 6px 0;\n color: #b0bec5;\n text-decoration: none;\n border-left: 3px solid transparent;\n margin-left: -24px;\n padding-left: 21px;\n transition: color 0.15s, border-color 0.15s;\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 12px;\n }\n\n .toc-link:hover {\n color: #e0e0e0;\n border-left-color: #90caf9;\n }\n\n [data-theme=\"light\"] .toc-link {\n color: #666;\n }\n\n [data-theme=\"light\"] .toc-link:hover {\n color: #263238;\n border-left-color: #1976d2;\n }\n\n .toc-link.active {\n color: #e0e0e0;\n border-left-color: #90caf9;\n font-weight: 600;\n }\n\n [data-theme=\"light\"] .toc-link.active {\n color: #263238;\n border-left-color: #1976d2;\n }\n\n .toc-level-2 { padding-left: 27px; }\n .toc-level-3 { padding-left: 39px; }\n .toc-level-4 { padding-left: 51px; }\n .toc-level-5 { padding-left: 63px; }\n .toc-level-6 { padding-left: 75px; }\n /* ========== SEARCH MODAL (cmd+K) ========== */\n dialog.search-modal {\n padding: 0;\n border: 1px solid var(--border-color);\n border-radius: 12px;\n background: var(--bg-color);\n color: var(--text-color);\n width: min(640px, calc(100vw - 32px));\n max-width: 640px;\n max-height: 70vh;\n box-shadow: 0 20px 60px rgba(0,0,0,0.25);\n margin: auto;\n }\n\n dialog.search-modal::backdrop {\n background: rgba(0, 0, 0, 0.45);\n }\n\n dialog.search-modal:not([open]) {\n display: none;\n }\n\n .search-modal-inner {\n display: flex;\n flex-direction: column;\n max-height: 70vh;\n }\n\n .search-modal-input-row {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 14px 16px;\n border-bottom: 1px solid var(--border-color);\n }\n\n .search-modal-input {\n flex: 1;\n width: 100%;\n padding: 8px 10px;\n border: 1px solid var(--border-color);\n border-radius: 6px;\n background: var(--bg-color);\n color: var(--text-color);\n font-size: 15px;\n font-family: inherit;\n outline: none;\n }\n\n .search-modal-input:focus {\n border-color: var(--primary-color);\n }\n\n .search-modal-close {\n padding: 6px 10px;\n font-size: 12px;\n font-family: 'SF Mono', 'Monaco', monospace;\n color: var(--text-muted);\n background: var(--surface-color);\n border: 1px solid var(--border-color);\n border-radius: 6px;\n cursor: pointer;\n }\n\n .search-modal-close:hover {\n color: var(--text-color);\n background: var(--hover-bg);\n }\n\n .search-modal-results {\n overflow-y: auto;\n flex: 1;\n padding: 8px 8px 12px;\n }\n\n .search-modal-empty {\n padding: 24px 16px;\n color: var(--text-muted);\n text-align: center;\n font-size: 14px;\n }\n\n .search-modal-group {\n padding: 4px 0;\n }\n\n .search-modal-group-heading {\n padding: 8px 12px 4px;\n font-size: 11px;\n font-weight: 600;\n letter-spacing: 0.06em;\n text-transform: uppercase;\n color: var(--text-muted);\n }\n\n .search-modal-result {\n display: flex;\n flex-direction: column;\n gap: 2px;\n width: 100%;\n padding: 10px 12px;\n margin: 2px 0;\n text-align: left;\n background: transparent;\n border: 1px solid transparent;\n border-radius: 8px;\n cursor: pointer;\n color: var(--text-color);\n font-family: inherit;\n }\n\n .search-modal-result:focus,\n .search-modal-result.is-highlighted {\n background: var(--hover-bg);\n border-color: var(--border-color);\n outline: none;\n }\n\n .search-modal-result-title {\n font-size: 14px;\n font-weight: 600;\n }\n\n .search-modal-result-desc {\n font-size: 12px;\n color: var(--text-muted);\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n }\n\n";
|
|
2
2
|
//# sourceMappingURL=layout-navigation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout-navigation.d.ts","sourceRoot":"","sources":["../../../../../src/docs/ui/style-sections/layout-navigation.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"layout-navigation.d.ts","sourceRoot":"","sources":["../../../../../src/docs/ui/style-sections/layout-navigation.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,ykfAgqBlC,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const schemaCodeStyles = " /* ========== RESPONSE SAMPLES (Right Panel) ========== */\n .response-samples {\n margin-top: 20px;\n }\n\n .response-samples-header {\n font-size: 14px;\n font-weight: 600;\n color: var(--code-panel-text);\n margin-bottom: 12px;\n }\n\n .sample-tabs {\n display: flex;\n gap: 8px;\n margin-bottom: 16px;\n }\n\n .sample-tab {\n padding: 6px 14px;\n border-radius: 4px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n background: transparent;\n border: 1px solid rgba(255,255,255,0.2);\n color: var(--code-panel-text);\n transition: all 0.15s;\n }\n\n .sample-tab:hover {\n background: rgba(255,255,255,0.1);\n }\n\n .sample-tab.active {\n background: rgba(255,255,255,0.15);\n border-color: rgba(255,255,255,0.3);\n }\n\n .sample-tab.status-2xx { color: #10b981; border-color: #10b981; }\n .sample-tab.status-4xx { color: #f59e0b; border-color: #f59e0b; }\n .sample-tab.status-5xx { color: #ef4444; border-color: #ef4444; }\n\n .sample-content {\n display: none;\n }\n\n .sample-content.active {\n display: block;\n }\n\n .sample-content-type {\n font-size: 12px;\n color: #90a4ae;\n margin-bottom: 8px;\n }\n\n .sample-actions {\n display: flex;\n gap: 16px;\n margin-bottom: 12px;\n }\n\n .sample-action {\n font-size: 12px;\n color: #90a4ae;\n cursor: pointer;\n background: none;\n border: none;\n padding: 0;\n transition: color 0.15s;\n }\n\n .sample-action:hover {\n color: white;\n }\n\n .sample-json {\n background: rgba(0,0,0,0.3);\n border-radius: 6px;\n padding: 14px;\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 12px;\n line-height: 1.5;\n color: #e2e8f0;\n overflow-x: auto;\n white-space: pre-wrap;\n word-break: break-word;\n }\n\n .sample-json .json-key { color: #f8b500; }\n .sample-json .json-string { color: #a5d6a7; }\n .sample-json .json-number { color: #82aaff; }\n .sample-json .json-boolean { color: #f78c6c; }\n .sample-json .json-null { color: #89ddff; }\n\n /* Right panel sections */\n .right-panel-content {\n display: flex;\n flex-direction: column;\n gap: 24px;\n }\n\n .right-section {\n margin-bottom: 0;\n }\n\n .right-section-header {\n font-size: 13px;\n font-weight: 600;\n color: #90a4ae;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 16px;\n padding-bottom: 8px;\n border-bottom: 1px solid rgba(255,255,255,0.1);\n }\n\n .sample-contents {\n margin-top: 0;\n }\n\n .tab-status {\n font-weight: 600;\n }\n\n .tab-status.status-2xx { color: #10b981; }\n .tab-status.status-4xx { color: #f59e0b; }\n .tab-status.status-5xx { color: #ef4444; }\n\n .no-example {\n color: #90a4ae;\n font-style: italic;\n font-size: 13px;\n padding: 12px;\n background: rgba(0,0,0,0.2);\n border-radius: 6px;\n }\n\n .response-desc-only {\n color: #90a4ae;\n font-size: 13px;\n padding: 12px;\n background: rgba(0,0,0,0.2);\n border-radius: 6px;\n }\n\n /* ========== CODE EXAMPLES ========== */\n .code-example {\n background: rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n overflow: hidden;\n margin-bottom: 16px;\n }\n\n .code-example-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 14px;\n background: var(--code-panel-header);\n font-size: 12px;\n font-weight: 600;\n color: #90a4ae;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .code-example pre {\n margin: 0;\n background: transparent;\n border: none;\n border-radius: 0;\n color: #e2e8f0;\n padding: 14px;\n }\n\n .code-example code {\n color: #e2e8f0;\n white-space: pre-wrap;\n word-break: break-word;\n font-size: 12px;\n }\n\n /* Code language tabs */\n .code-tabs {\n display: flex;\n gap: 2px;\n padding: 8px 14px;\n background: var(--code-panel-header);\n border-bottom: 1px solid rgba(255,255,255,0.1);\n }\n\n .code-tab {\n padding: 6px 12px;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: #90a4ae;\n font-size: 12px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .code-tab:hover {\n background: rgba(255,255,255,0.1);\n color: var(--code-panel-text);\n }\n\n .code-tab.active {\n background: rgba(255,255,255,0.15);\n color: var(--code-panel-text);\n }\n\n .code-contents {\n padding: 0;\n }\n\n .code-content {\n display: none;\n }\n\n .code-content.active {\n display: block;\n }\n\n pre {\n background: var(--code-bg);\n padding: 16px;\n border-radius: 8px;\n overflow-x: auto;\n font-family: 'SF Mono', 'Fira Code', 'Monaco', monospace;\n font-size: 13px;\n line-height: 1.5;\n border: 1px solid var(--border-color);\n }\n\n /* ========== SCHEMA VISUALIZATION (Redoc-style) ========== */\n .schema-container {\n border: 1px solid var(--border-color);\n border-radius: 8px;\n overflow: hidden;\n margin-bottom: 16px;\n }\n\n .schema-row {\n display: flex;\n align-items: flex-start;\n padding: 12px 16px;\n border-bottom: 1px solid var(--border-color);\n transition: background 0.15s;\n }\n\n .schema-row:last-child { border-bottom: none; }\n .schema-row:hover { background: var(--hover-bg); }\n\n .schema-row.nested {\n padding-left: 32px;\n background: rgba(0,0,0,0.02);\n }\n\n .schema-row.nested-2 { padding-left: 48px; }\n .schema-row.nested-3 { padding-left: 64px; }\n .schema-row.nested-4 { padding-left: 80px; }\n\n .schema-property {\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 200px;\n flex-shrink: 0;\n }\n\n .schema-name {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 13px;\n font-weight: 600;\n color: var(--text-color);\n }\n\n .schema-required {\n color: #ef4444;\n font-weight: 700;\n font-size: 14px;\n }\n\n .schema-type {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n border-radius: 4px;\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 11px;\n font-weight: 500;\n }\n\n .type-string { background: #dbeafe; color: #1d4ed8; }\n .type-number, .type-integer { background: #fef3c7; color: #b45309; }\n .type-boolean { background: #fce7f3; color: #be185d; }\n .type-object { background: #e0e7ff; color: #4338ca; }\n .type-array { background: #d1fae5; color: #047857; }\n .type-null { background: #f3f4f6; color: #6b7280; }\n .type-ref { background: #fef3c7; color: #92400e; font-style: italic; }\n\n [data-theme=\"dark\"] .type-string { background: #1e3a5f; color: #93c5fd; }\n [data-theme=\"dark\"] .type-number, [data-theme=\"dark\"] .type-integer { background: #451a03; color: #fcd34d; }\n [data-theme=\"dark\"] .type-boolean { background: #4a0519; color: #f9a8d4; }\n [data-theme=\"dark\"] .type-object { background: #312e81; color: #c7d2fe; }\n [data-theme=\"dark\"] .type-array { background: #064e3b; color: #6ee7b7; }\n [data-theme=\"dark\"] .type-null { background: #374151; color: #9ca3af; }\n [data-theme=\"dark\"] .type-ref { background: #451a03; color: #fbbf24; }\n\n .schema-details {\n flex: 1;\n padding-left: 16px;\n }\n\n .schema-desc {\n color: var(--text-muted);\n font-size: 13px;\n margin-bottom: 4px;\n }\n\n .schema-constraints {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n margin-top: 6px;\n }\n\n .schema-constraint {\n font-size: 11px;\n padding: 2px 6px;\n border-radius: 4px;\n background: var(--code-bg);\n color: var(--text-muted);\n font-family: 'SF Mono', 'Monaco', monospace;\n }\n\n .schema-enum {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-top: 6px;\n }\n\n .schema-enum-value {\n font-size: 11px;\n padding: 2px 8px;\n border-radius: 4px;\n background: #fef3c7;\n color: #92400e;\n font-family: 'SF Mono', 'Monaco', monospace;\n }\n\n [data-theme=\"dark\"] .schema-enum-value {\n background: #451a03;\n color: #fbbf24;\n }\n\n .schema-default {\n font-size: 12px;\n color: var(--text-muted);\n margin-top: 4px;\n }\n\n .schema-default code {\n background: var(--code-bg);\n padding: 1px 4px;\n border-radius: 3px;\n font-family: 'SF Mono', 'Monaco', monospace;\n }\n\n .schema-toggle {\n cursor: pointer;\n user-select: none;\n color: var(--primary-color);\n font-size: 12px;\n margin-left: 8px;\n }\n\n .schema-toggle:hover { text-decoration: underline; }\n\n .schema-nested-container {\n overflow: hidden;\n transition: max-height 0.3s ease;\n }\n\n .schema-nested-container.collapsed {\n max-height: 0 !important;\n }\n\n .schema-example {\n margin-top: 16px;\n background: var(--code-bg);\n border-radius: 8px;\n overflow: hidden;\n }\n\n .schema-example-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 12px;\n background: rgba(0,0,0,0.05);\n border-bottom: 1px solid var(--border-color);\n font-size: 12px;\n font-weight: 600;\n color: var(--text-muted);\n text-transform: uppercase;\n }\n\n .schema-example-body {\n padding: 12px;\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 12px;\n white-space: pre-wrap;\n word-break: break-word;\n }\n\n /* Response tabs */\n .response-tabs {\n display: flex;\n gap: 2px;\n margin-bottom: 12px;\n border-bottom: 2px solid var(--border-color);\n }\n\n .response-tab {\n padding: 8px 16px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n border: none;\n background: none;\n color: var(--text-muted);\n border-bottom: 2px solid transparent;\n margin-bottom: -2px;\n transition: all 0.15s;\n }\n\n .response-tab:hover { color: var(--text-color); }\n\n .response-tab.active {\n color: var(--primary-color);\n border-bottom-color: var(--primary-color);\n }\n\n .response-tab.status-2xx { color: #10b981; }\n .response-tab.status-2xx.active { border-bottom-color: #10b981; }\n .response-tab.status-4xx { color: #f59e0b; }\n .response-tab.status-4xx.active { border-bottom-color: #f59e0b; }\n .response-tab.status-5xx { color: #ef4444; }\n .response-tab.status-5xx.active { border-bottom-color: #ef4444; }\n\n .response-content { display: none; }\n .response-content.active { display: block; }\n\n /* Parameters table */\n .params-table {\n width: 100%;\n border-collapse: collapse;\n margin-bottom: 16px;\n }\n\n .params-table th {\n text-align: left;\n padding: 8px 12px;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n color: var(--text-muted);\n background: var(--code-bg);\n border-bottom: 1px solid var(--border-color);\n }\n\n .params-table td {\n padding: 10px 12px;\n border-bottom: 1px solid var(--border-color);\n font-size: 13px;\n }\n\n .params-table tr:last-child td { border-bottom: none; }\n\n .param-name {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-weight: 600;\n }\n\n .param-in {\n font-size: 10px;\n padding: 2px 6px;\n border-radius: 3px;\n background: var(--code-bg);\n color: var(--text-muted);\n text-transform: uppercase;\n margin-left: 8px;\n }\n\n /* ========== CHANNEL TYPES ========== */\n .channel-type-public { background: #10b981; color: white; }\n .channel-type-private { background: #f59e0b; color: white; }\n .channel-type-presence { background: #8b5cf6; color: white; }\n\n /* ========== INFO GRID ========== */\n .info-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));\n gap: 12px;\n margin-bottom: 24px;\n }\n\n .info-card {\n background: var(--code-bg);\n padding: 16px;\n border-radius: 10px;\n border: 1px solid var(--border-color);\n }\n\n .info-card-title {\n font-size: 11px;\n color: var(--text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 6px;\n }\n\n .info-card-value {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-color);\n }\n\n /* ========== RESPONSIVE ========== */\n @media (max-width: 900px) {\n .app-container { grid-template-columns: 1fr; }\n .sidebar {\n display: none;\n position: fixed;\n left: 0;\n top: 0;\n width: 300px;\n z-index: 100;\n }\n .sidebar.mobile-open { display: block; }\n .hero { padding: 40px 24px; min-height: 100vh; }\n .hero-logo { height: 80px; margin-bottom: 24px; }\n .hero-title { font-size: 36px; }\n .hero-version { font-size: 12px; margin-left: 8px; }\n .hero-tagline { font-size: 17px; margin-bottom: 20px; }\n .hero-features { flex-direction: column; align-items: center; gap: 12px; }\n .hero-features li { font-size: 15px; }\n .hero-btn { padding: 12px 24px; font-size: 15px; }\n .github-corner svg { width: 60px; height: 60px; }\n .main { padding: 24px; }\n }\n\n /* ========== ANIMATIONS ========== */\n @keyframes fadeIn {\n from { opacity: 0; transform: translateY(10px); }\n to { opacity: 1; transform: translateY(0); }\n }\n\n .endpoint-section {\n animation: fadeIn 0.3s ease-out;\n }\n\n /* ========== HTTP ENDPOINT (ReDoc-style) ========== */\n .http-param-group {\n margin-bottom: 20px;\n }\n\n .http-param-group-title {\n font-size: 12px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n margin-bottom: 8px;\n }\n\n .http-params {\n border: 1px solid var(--border-color);\n border-radius: 8px;\n overflow: hidden;\n }\n\n .http-param {\n padding: 12px 16px;\n border-bottom: 1px solid var(--border-color);\n }\n\n .http-param:last-child { border-bottom: none; }\n\n .http-param-head {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 8px;\n }\n\n .http-param-name {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 13px;\n font-weight: 600;\n color: var(--text-color);\n }\n\n .http-param-required {\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.4px;\n color: #ef4444;\n }\n\n .http-param-deprecated {\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.4px;\n color: #f59e0b;\n }\n\n .http-param-desc {\n color: var(--text-muted);\n font-size: 13px;\n margin-top: 6px;\n line-height: 1.5;\n }\n\n /* Validation constraint chips (reuses .schema-constraint look) */\n .constraint-chips {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n margin-top: 8px;\n }\n\n .constraint-chip {\n font-size: 11px;\n padding: 2px 8px;\n border-radius: 4px;\n background: var(--code-bg);\n color: var(--text-muted);\n border: 1px solid var(--border-color);\n font-family: 'SF Mono', 'Monaco', monospace;\n }\n\n .constraint-chip.constraint-enum {\n background: #fef3c7;\n color: #92400e;\n border-color: transparent;\n }\n\n [data-theme=\"dark\"] .constraint-chip.constraint-enum {\n background: #451a03;\n color: #fbbf24;\n }\n\n /* Response accordions */\n .response-accordion {\n border: 1px solid var(--border-color);\n border-radius: 8px;\n margin-bottom: 10px;\n overflow: hidden;\n }\n\n .response-accordion-header {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 12px 14px;\n background: var(--code-bg);\n border: none;\n cursor: pointer;\n text-align: left;\n font-size: 13px;\n color: var(--text-color);\n transition: background 0.15s;\n }\n\n .response-accordion-header:hover { background: var(--hover-bg); }\n\n .response-accordion-caret {\n flex-shrink: 0;\n font-size: 10px;\n color: var(--text-muted);\n transition: transform 0.2s ease;\n }\n\n .response-accordion.open .response-accordion-caret {\n transform: rotate(90deg);\n }\n\n .response-status-dot {\n width: 9px;\n height: 9px;\n border-radius: 50%;\n flex-shrink: 0;\n }\n\n .response-status-dot.status-2xx { background: #10b981; }\n .response-status-dot.status-3xx { background: #3b82f6; }\n .response-status-dot.status-4xx { background: #f59e0b; }\n .response-status-dot.status-5xx { background: #ef4444; }\n\n .response-status-code {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-weight: 600;\n }\n\n .response-status-desc {\n color: var(--text-muted);\n }\n\n .response-accordion-body {\n padding: 14px;\n border-top: 1px solid var(--border-color);\n display: none;\n }\n\n .response-accordion.open .response-accordion-body { display: block; }\n\n .response-subhead {\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n margin: 0 0 8px;\n }\n\n .response-block + .response-block { margin-top: 16px; }\n\n /* Multi-language code samples */\n .http-code-samples {\n margin-top: 8px;\n border: 1px solid var(--border-color);\n border-radius: 8px;\n overflow: hidden;\n background: var(--code-bg);\n }\n\n .http-code-samples .code-tabs {\n flex-wrap: wrap;\n background: rgba(0,0,0,0.04);\n }\n\n [data-theme=\"dark\"] .http-code-samples .code-tabs {\n background: rgba(255,255,255,0.03);\n }\n\n .http-code-sample-pre {\n margin: 0;\n padding: 14px;\n background: transparent;\n border: none;\n border-radius: 0;\n overflow-x: auto;\n font-family: 'SF Mono', 'Fira Code', 'Monaco', monospace;\n font-size: 12px;\n line-height: 1.55;\n color: var(--text-color);\n white-space: pre;\n }\n\n .http-code-copy,\n .sample-code-copy {\n margin-left: auto;\n padding: 4px 10px;\n background: transparent;\n border: 1px solid var(--border-color);\n border-radius: 4px;\n color: var(--text-muted);\n font-size: 11px;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .http-code-copy:hover,\n .sample-code-copy:hover {\n color: #fff;\n border-color: #90a4ae;\n }\n\n /* Right panel (third column): keep request/response samples dark & legible\n regardless of the active theme, matching ReDoc's sample column. */\n .endpoint-right .endpoint-right-section + .endpoint-right-section {\n margin-top: 24px;\n }\n\n .endpoint-right .http-code-samples {\n background: rgba(0,0,0,0.25);\n border-color: rgba(255,255,255,0.1);\n }\n\n .endpoint-right .http-code-samples .code-tabs {\n background: rgba(0,0,0,0.2);\n border-color: rgba(255,255,255,0.1);\n }\n\n .endpoint-right .http-code-sample-pre {\n color: var(--code-panel-text);\n }\n\n .response-example-toolbar {\n display: flex;\n align-items: center;\n gap: 12px;\n min-height: 28px;\n margin: 4px 0 8px;\n }\n\n .response-example-toolbar .response-example-name {\n margin: 0;\n }\n\n .endpoint-right .sample-code {\n margin: 0;\n padding: 14px;\n overflow-x: auto;\n border: 1px solid rgba(255,255,255,0.1);\n border-radius: 6px;\n background: rgba(0,0,0,0.25);\n color: var(--code-panel-text);\n white-space: pre;\n word-break: normal;\n }\n\n .endpoint-right .sample-code code {\n color: inherit;\n font-family: 'SF Mono', 'Fira Code', 'Monaco', monospace;\n font-size: 12px;\n line-height: 1.55;\n white-space: inherit;\n }\n\n .endpoint-right .token.comment,\n .endpoint-right .token.prolog,\n .endpoint-right .token.doctype,\n .endpoint-right .token.cdata {\n color: #90a4ae;\n }\n\n .endpoint-right .token.punctuation { color: #cfd8dc; }\n\n .endpoint-right .token.property,\n .endpoint-right .token.tag,\n .endpoint-right .token.boolean,\n .endpoint-right .token.number,\n .endpoint-right .token.constant,\n .endpoint-right .token.symbol {\n color: #f8b500;\n }\n\n .endpoint-right .token.selector,\n .endpoint-right .token.attr-name,\n .endpoint-right .token.string,\n .endpoint-right .token.char,\n .endpoint-right .token.builtin {\n color: #a5d6a7;\n }\n\n .endpoint-right .token.operator,\n .endpoint-right .token.entity,\n .endpoint-right .token.url,\n .endpoint-right .token.variable {\n color: #89ddff;\n }\n\n .endpoint-right .token.atrule,\n .endpoint-right .token.attr-value,\n .endpoint-right .token.function,\n .endpoint-right .token.class-name {\n color: #82aaff;\n }\n\n .endpoint-right .token.keyword { color: #c792ea; }\n\n .endpoint-right .code-tab {\n color: #90a4ae;\n }\n\n .endpoint-right .code-tab.active {\n background: rgba(255,255,255,0.12);\n color: #fff;\n }\n\n .endpoint-right .response-subhead {\n color: #90a4ae;\n }\n\n /* ========== AUTHENTICATION ========== */\n .authentication-section {\n margin: 28px 36px 36px;\n padding: 24px;\n border: 1px solid var(--border-color);\n border-radius: 10px;\n background: var(--surface-color);\n }\n\n .authentication-header h2 {\n margin: 4px 0 6px;\n font-size: var(--font-size-h2);\n color: var(--text-primary);\n }\n\n .authentication-header p,\n .auth-scheme-description,\n .auth-scheme-meta {\n color: var(--text-muted);\n font-size: var(--font-size-small);\n }\n\n .auth-environment {\n display: grid;\n gap: 6px;\n margin: 18px 0;\n }\n\n .auth-environment-select,\n .auth-input,\n .auth-operation-body {\n width: 100%;\n padding: 8px 10px;\n border: 1px solid var(--border-color);\n border-radius: 6px;\n background: var(--bg-primary);\n color: var(--text-primary);\n font: inherit;\n font-size: var(--font-size-small);\n }\n\n .auth-operation-body {\n min-height: 112px;\n resize: vertical;\n font-family: ui-monospace, SFMono-Regular, Menlo, monospace;\n font-size: var(--font-size-code);\n }\n\n .auth-schemes {\n display: grid;\n gap: 12px;\n }\n\n .auth-scheme {\n padding: 16px;\n border: 1px solid var(--border-color);\n border-radius: 8px;\n background: var(--bg-primary);\n }\n\n .auth-scheme-title {\n display: flex;\n align-items: baseline;\n gap: 10px;\n margin-bottom: 10px;\n color: var(--text-primary);\n }\n\n .auth-scheme-title span,\n .auth-field-label,\n .auth-status {\n color: var(--text-muted);\n font-size: var(--font-size-xs);\n }\n\n .auth-form,\n .auth-field {\n display: grid;\n gap: 6px;\n }\n\n .auth-form { gap: 10px; }\n\n .auth-oauth-flow {\n display: grid;\n gap: 10px;\n margin: 6px 0;\n padding: 14px;\n border: 1px solid var(--border-color);\n border-radius: 7px;\n }\n\n .auth-oauth-flow legend {\n padding: 0 6px;\n font-weight: 600;\n font-size: var(--font-size-small);\n }\n\n .auth-actions {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 10px;\n }\n\n .auth-save,\n .auth-request-token,\n .auth-oauth-token,\n .auth-oauth-authorize,\n .auth-oidc-authorize {\n padding: 7px 12px;\n border: 1px solid var(--primary-color);\n border-radius: 6px;\n background: transparent;\n color: var(--primary-color);\n cursor: pointer;\n font-size: var(--font-size-small);\n font-weight: 600;\n }\n\n .auth-status-error { color: #dc2626; }\n\n @media (max-width: 760px) {\n .authentication-section { margin: 20px 16px 28px; padding: 18px; }\n }\n\n .docs-overview-server-variables {\n width: 100%;\n margin-top: 8px;\n color: var(--text-muted);\n font-size: var(--font-size-xs);\n }\n\n .docs-overview-server-variables ul {\n display: grid;\n gap: 5px;\n margin-top: 5px;\n list-style: none;\n }\n\n .docs-overview-server-variables li {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n }\n\n .endpoint-deprecated,\n .http-param-deprecated {\n padding: 2px 6px;\n border: 1px solid #d97706;\n border-radius: 4px;\n color: #b45309;\n font-size: var(--font-size-xs);\n font-weight: 600;\n }\n\n .response-media-sample + .response-media-sample,\n .request-example + .request-example {\n margin-top: 14px;\n padding-top: 14px;\n border-top: 1px solid rgba(255,255,255,0.12);\n }\n\n .response-example-name {\n margin: 6px 0;\n color: var(--text-muted);\n font-size: var(--font-size-xs);\n font-weight: 600;\n }\n\n .sample-code-error { color: #fca5a5; }\n\n .response-link {\n display: grid;\n gap: 4px;\n margin-top: 8px;\n padding: 10px;\n border: 1px solid var(--border-color);\n border-radius: 6px;\n font-size: var(--font-size-small);\n }\n\n .response-link-parameters { white-space: pre-wrap; }\n\n .http-try {\n display: grid;\n gap: 10px;\n margin-top: 12px;\n }\n\n .http-try-run {\n justify-self: start;\n padding: 7px 12px;\n border: 1px solid #8bc34a;\n border-radius: 6px;\n background: transparent;\n color: #c5e1a5;\n cursor: pointer;\n font-size: var(--font-size-small);\n font-weight: 600;\n }\n\n .http-try-run:disabled { cursor: wait; opacity: 0.6; }\n\n .http-try-result {\n max-height: 280px;\n overflow: auto;\n padding: 12px;\n border: 1px solid rgba(255,255,255,0.1);\n border-radius: 6px;\n color: var(--code-panel-text);\n white-space: pre-wrap;\n }\n\n .async-contracts {\n margin: 28px 36px;\n padding: 22px;\n border: 1px solid var(--border-color);\n border-radius: 9px;\n background: var(--surface-color);\n }\n\n .endpoint-left > .async-contracts { margin: 16px 0 0; }\n\n .async-contracts h2 { font-size: var(--font-size-h3); }\n .async-contracts h3 { margin-top: 14px; font-size: var(--font-size-h5); }\n .async-contract-note { margin: 5px 0 12px; color: var(--text-muted); font-size: var(--font-size-small); }\n\n .async-contract {\n display: grid;\n gap: 7px;\n margin-top: 8px;\n padding: 10px;\n border: 1px solid var(--border-color);\n border-radius: 6px;\n }\n\n .async-contract-operation {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 8px;\n font-size: var(--font-size-small);\n }\n\n @media (max-width: 760px) {\n .async-contracts { margin: 20px 16px; padding: 18px; }\n }\n\n";
|
|
1
|
+
export declare const schemaCodeStyles = " /* ========== RESPONSE SAMPLES (Right Panel) ========== */\n .response-samples {\n margin-top: 16px;\n }\n\n .response-samples-header {\n font-size: 12px;\n font-weight: 600;\n color: var(--code-panel-text);\n margin-bottom: 12px;\n }\n\n .sample-tabs {\n display: flex;\n gap: 6px;\n margin-bottom: 12px;\n }\n\n .sample-tab {\n padding: 4px 10px;\n border-radius: 4px;\n font-size: 11px;\n font-weight: 500;\n cursor: pointer;\n background: transparent;\n border: 1px solid rgba(255,255,255,0.2);\n color: var(--code-panel-text);\n transition: all 0.15s;\n }\n\n .sample-tab:hover {\n background: rgba(255,255,255,0.1);\n }\n\n .sample-tab.active {\n background: rgba(255,255,255,0.15);\n border-color: rgba(255,255,255,0.3);\n }\n\n .sample-tab.status-2xx { color: #10b981; border-color: #10b981; }\n .sample-tab.status-4xx { color: #f59e0b; border-color: #f59e0b; }\n .sample-tab.status-5xx { color: #ef4444; border-color: #ef4444; }\n\n .sample-content {\n display: none;\n }\n\n .sample-content.active {\n display: block;\n }\n\n .sample-content-type {\n font-size: 11px;\n color: #90a4ae;\n margin-bottom: 8px;\n }\n\n .sample-actions {\n display: flex;\n gap: 12px;\n margin-bottom: 8px;\n }\n\n .sample-action {\n font-size: 11px;\n color: #90a4ae;\n cursor: pointer;\n background: none;\n border: none;\n padding: 0;\n transition: color 0.15s;\n }\n\n .sample-action:hover {\n color: white;\n }\n\n .sample-json {\n background: rgba(0,0,0,0.3);\n border-radius: 6px;\n padding: 10px;\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 11px;\n line-height: 1.4;\n color: #e2e8f0;\n overflow-x: auto;\n white-space: pre-wrap;\n word-break: break-word;\n }\n\n .sample-json .json-key { color: #f8b500; }\n .sample-json .json-string { color: #a5d6a7; }\n .sample-json .json-number { color: #82aaff; }\n .sample-json .json-boolean { color: #f78c6c; }\n .sample-json .json-null { color: #89ddff; }\n\n /* Right panel sections */\n .right-panel-content {\n display: flex;\n flex-direction: column;\n gap: 18px;\n }\n\n .right-section {\n margin-bottom: 0;\n }\n\n .right-section-header {\n font-size: 11px;\n font-weight: 600;\n color: #90a4ae;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 12px;\n padding-bottom: 6px;\n border-bottom: 1px solid rgba(255,255,255,0.1);\n }\n\n .sample-contents {\n margin-top: 0;\n }\n\n .tab-status {\n font-weight: 600;\n }\n\n .tab-status.status-2xx { color: #10b981; }\n .tab-status.status-4xx { color: #f59e0b; }\n .tab-status.status-5xx { color: #ef4444; }\n\n .no-example {\n color: #90a4ae;\n font-style: italic;\n font-size: 13px;\n padding: 12px;\n background: rgba(0,0,0,0.2);\n border-radius: 6px;\n }\n\n .response-desc-only {\n color: #90a4ae;\n font-size: 13px;\n padding: 12px;\n background: rgba(0,0,0,0.2);\n border-radius: 6px;\n }\n\n /* ========== CODE EXAMPLES ========== */\n .code-example {\n background: rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n overflow: hidden;\n margin-bottom: 16px;\n }\n\n .code-example-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 10px;\n background: var(--code-panel-header);\n font-size: 11px;\n font-weight: 600;\n color: #90a4ae;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .code-example pre {\n margin: 0;\n background: transparent;\n border: none;\n border-radius: 0;\n color: #e2e8f0;\n padding: 10px;\n }\n\n .code-example code {\n color: #e2e8f0;\n white-space: pre-wrap;\n word-break: break-word;\n font-size: 11px;\n line-height: 1.4;\n }\n\n /* Code language tabs */\n .code-tabs {\n display: flex;\n gap: 2px;\n padding: 6px 10px;\n background: var(--code-panel-header);\n border-bottom: 1px solid rgba(255,255,255,0.1);\n }\n\n .code-tab {\n padding: 4px 9px;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: #90a4ae;\n font-size: 11px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .code-tab:hover {\n background: rgba(255,255,255,0.1);\n color: var(--code-panel-text);\n }\n\n .code-tab.active {\n background: rgba(255,255,255,0.15);\n color: var(--code-panel-text);\n }\n\n .code-contents {\n padding: 0;\n }\n\n .code-content {\n display: none;\n }\n\n .code-content.active {\n display: block;\n }\n\n pre {\n background: var(--code-bg);\n padding: 12px;\n border-radius: 8px;\n overflow-x: auto;\n font-family: 'SF Mono', 'Fira Code', 'Monaco', monospace;\n font-size: 11px;\n line-height: 1.45;\n border: 1px solid var(--border-color);\n }\n\n /* ========== SCHEMA VISUALIZATION (Redoc-style) ========== */\n .schema-container {\n border: 1px solid var(--border-color);\n border-radius: 8px;\n overflow: hidden;\n margin-bottom: 16px;\n }\n\n .schema-row {\n display: flex;\n align-items: flex-start;\n padding: 8px 12px;\n border-bottom: 1px solid var(--border-color);\n transition: background 0.15s;\n }\n\n .schema-row:last-child { border-bottom: none; }\n .schema-row:hover { background: var(--hover-bg); }\n\n .schema-row.nested {\n padding-left: 32px;\n background: rgba(0,0,0,0.02);\n }\n\n .schema-row.nested-2 { padding-left: 48px; }\n .schema-row.nested-3 { padding-left: 64px; }\n .schema-row.nested-4 { padding-left: 80px; }\n\n .schema-property {\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 200px;\n flex-shrink: 0;\n }\n\n .schema-name {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 12px;\n font-weight: 600;\n color: var(--text-color);\n }\n\n .schema-required {\n color: #ef4444;\n font-weight: 700;\n font-size: 12px;\n }\n\n .schema-type {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 1px 6px;\n border-radius: 4px;\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 10px;\n font-weight: 500;\n }\n\n .type-string { background: #dbeafe; color: #1d4ed8; }\n .type-number, .type-integer { background: #fef3c7; color: #b45309; }\n .type-boolean { background: #fce7f3; color: #be185d; }\n .type-object { background: #e0e7ff; color: #4338ca; }\n .type-array { background: #d1fae5; color: #047857; }\n .type-null { background: #f3f4f6; color: #6b7280; }\n .type-ref { background: #fef3c7; color: #92400e; font-style: italic; }\n\n [data-theme=\"dark\"] .type-string { background: #1e3a5f; color: #93c5fd; }\n [data-theme=\"dark\"] .type-number, [data-theme=\"dark\"] .type-integer { background: #451a03; color: #fcd34d; }\n [data-theme=\"dark\"] .type-boolean { background: #4a0519; color: #f9a8d4; }\n [data-theme=\"dark\"] .type-object { background: #312e81; color: #c7d2fe; }\n [data-theme=\"dark\"] .type-array { background: #064e3b; color: #6ee7b7; }\n [data-theme=\"dark\"] .type-null { background: #374151; color: #9ca3af; }\n [data-theme=\"dark\"] .type-ref { background: #451a03; color: #fbbf24; }\n\n .schema-details {\n flex: 1;\n padding-left: 16px;\n }\n\n .schema-desc {\n color: var(--text-muted);\n font-size: 12px;\n margin-bottom: 4px;\n }\n\n /* Compact response-body tree. Nested wrappers use a fixed step so\n indentation grows predictably instead of compounding by depth. */\n .schema-tree-root {\n margin-top: 6px;\n }\n\n .schema-tree-nested {\n padding-left: 10px;\n }\n\n .schema-tree-row {\n padding: 4px 0;\n font-size: 12px;\n line-height: 1.35;\n }\n\n .schema-tree-root > .schema-tree-row {\n padding-left: 6px;\n border-left: 1px solid var(--border-color);\n }\n\n .schema-tree-property {\n display: flex;\n align-items: center;\n gap: 5px;\n color: var(--text-primary);\n font-weight: 500;\n }\n\n .schema-tree-required {\n color: #ef4444;\n }\n\n .schema-tree-description {\n margin-top: 2px;\n color: var(--text-muted);\n font-size: 11px;\n line-height: 1.4;\n }\n\n .schema-tree-label {\n color: var(--text-primary);\n font-weight: 500;\n }\n\n .schema-tree-meta {\n color: var(--text-secondary);\n }\n\n .schema-tree-unresolved {\n color: var(--text-muted);\n font-style: italic;\n }\n\n .schema-constraints {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n margin-top: 6px;\n }\n\n .schema-constraint {\n font-size: 11px;\n padding: 2px 6px;\n border-radius: 4px;\n background: var(--code-bg);\n color: var(--text-muted);\n font-family: 'SF Mono', 'Monaco', monospace;\n }\n\n .schema-enum {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-top: 6px;\n }\n\n .schema-enum-value {\n font-size: 11px;\n padding: 2px 8px;\n border-radius: 4px;\n background: #fef3c7;\n color: #92400e;\n font-family: 'SF Mono', 'Monaco', monospace;\n }\n\n [data-theme=\"dark\"] .schema-enum-value {\n background: #451a03;\n color: #fbbf24;\n }\n\n .schema-default {\n font-size: 12px;\n color: var(--text-muted);\n margin-top: 4px;\n }\n\n .schema-default code {\n background: var(--code-bg);\n padding: 1px 4px;\n border-radius: 3px;\n font-family: 'SF Mono', 'Monaco', monospace;\n }\n\n .schema-toggle {\n cursor: pointer;\n user-select: none;\n color: var(--primary-color);\n font-size: 12px;\n margin-left: 8px;\n }\n\n .schema-toggle:hover { text-decoration: underline; }\n\n .schema-nested-container {\n overflow: hidden;\n transition: max-height 0.3s ease;\n }\n\n .schema-nested-container.collapsed {\n max-height: 0 !important;\n }\n\n .schema-example {\n margin-top: 16px;\n background: var(--code-bg);\n border-radius: 8px;\n overflow: hidden;\n }\n\n .schema-example-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 12px;\n background: rgba(0,0,0,0.05);\n border-bottom: 1px solid var(--border-color);\n font-size: 12px;\n font-weight: 600;\n color: var(--text-muted);\n text-transform: uppercase;\n }\n\n .schema-example-body {\n padding: 12px;\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 12px;\n white-space: pre-wrap;\n word-break: break-word;\n }\n\n /* Response tabs */\n .response-tabs {\n display: flex;\n gap: 2px;\n margin-bottom: 12px;\n border-bottom: 2px solid var(--border-color);\n }\n\n .response-tab {\n padding: 8px 16px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n border: none;\n background: none;\n color: var(--text-muted);\n border-bottom: 2px solid transparent;\n margin-bottom: -2px;\n transition: all 0.15s;\n }\n\n .response-tab:hover { color: var(--text-color); }\n\n .response-tab.active {\n color: var(--primary-color);\n border-bottom-color: var(--primary-color);\n }\n\n .response-tab.status-2xx { color: #10b981; }\n .response-tab.status-2xx.active { border-bottom-color: #10b981; }\n .response-tab.status-4xx { color: #f59e0b; }\n .response-tab.status-4xx.active { border-bottom-color: #f59e0b; }\n .response-tab.status-5xx { color: #ef4444; }\n .response-tab.status-5xx.active { border-bottom-color: #ef4444; }\n\n .response-content { display: none; }\n .response-content.active { display: block; }\n\n /* Parameters table */\n .params-table {\n width: 100%;\n border-collapse: collapse;\n margin-bottom: 16px;\n }\n\n .params-table th {\n text-align: left;\n padding: 8px 12px;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n color: var(--text-muted);\n background: var(--code-bg);\n border-bottom: 1px solid var(--border-color);\n }\n\n .params-table td {\n padding: 10px 12px;\n border-bottom: 1px solid var(--border-color);\n font-size: 13px;\n }\n\n .params-table tr:last-child td { border-bottom: none; }\n\n .param-name {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-weight: 600;\n }\n\n .param-in {\n font-size: 10px;\n padding: 2px 6px;\n border-radius: 3px;\n background: var(--code-bg);\n color: var(--text-muted);\n text-transform: uppercase;\n margin-left: 8px;\n }\n\n /* ========== CHANNEL TYPES ========== */\n .channel-type-public { background: #10b981; color: white; }\n .channel-type-private { background: #f59e0b; color: white; }\n .channel-type-presence { background: #8b5cf6; color: white; }\n\n /* ========== INFO GRID ========== */\n .info-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));\n gap: 12px;\n margin-bottom: 24px;\n }\n\n .info-card {\n background: var(--code-bg);\n padding: 16px;\n border-radius: 10px;\n border: 1px solid var(--border-color);\n }\n\n .info-card-title {\n font-size: 11px;\n color: var(--text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 6px;\n }\n\n .info-card-value {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-color);\n }\n\n /* ========== RESPONSIVE ========== */\n @media (max-width: 900px) {\n .app-container { grid-template-columns: 1fr; }\n .sidebar {\n display: none;\n position: fixed;\n left: 0;\n top: 0;\n width: 300px;\n z-index: 100;\n }\n .sidebar.mobile-open { display: block; }\n .hero { padding: 40px 24px; min-height: 100vh; }\n .hero-logo { height: 80px; margin-bottom: 24px; }\n .hero-title { font-size: 36px; }\n .hero-version { font-size: 12px; margin-left: 8px; }\n .hero-tagline { font-size: 17px; margin-bottom: 20px; }\n .hero-features { flex-direction: column; align-items: center; gap: 12px; }\n .hero-features li { font-size: 15px; }\n .hero-btn { padding: 12px 24px; font-size: 15px; }\n .github-corner svg { width: 60px; height: 60px; }\n .main { padding: 24px; }\n }\n\n /* ========== ANIMATIONS ========== */\n @keyframes fadeIn {\n from { opacity: 0; transform: translateY(10px); }\n to { opacity: 1; transform: translateY(0); }\n }\n\n .endpoint-section {\n animation: fadeIn 0.3s ease-out;\n }\n\n /* ========== HTTP ENDPOINT (ReDoc-style) ========== */\n .http-param-group {\n margin-bottom: 14px;\n }\n\n .http-param-group-title {\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n margin-bottom: 8px;\n }\n\n .http-params {\n border: 1px solid var(--border-color);\n border-radius: 8px;\n overflow: hidden;\n }\n\n .http-param {\n padding: 8px 12px;\n border-bottom: 1px solid var(--border-color);\n }\n\n .http-param:last-child { border-bottom: none; }\n\n .http-param-head {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 6px;\n }\n\n .http-param-name {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 12px;\n font-weight: 600;\n color: var(--text-color);\n }\n\n .http-param-required {\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.4px;\n color: #ef4444;\n }\n\n .http-param-deprecated {\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.4px;\n color: #f59e0b;\n }\n\n .http-param-desc {\n color: var(--text-muted);\n font-size: 12px;\n margin-top: 4px;\n line-height: 1.4;\n }\n\n /* Validation constraint chips (reuses .schema-constraint look) */\n .constraint-chips {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-top: 5px;\n }\n\n .constraint-chip {\n font-size: 10px;\n padding: 1px 6px;\n border-radius: 4px;\n background: var(--code-bg);\n color: var(--text-muted);\n border: 1px solid var(--border-color);\n font-family: 'SF Mono', 'Monaco', monospace;\n }\n\n .constraint-chip.constraint-enum {\n background: #fef3c7;\n color: #92400e;\n border-color: transparent;\n }\n\n [data-theme=\"dark\"] .constraint-chip.constraint-enum {\n background: #451a03;\n color: #fbbf24;\n }\n\n /* Response accordions */\n .response-accordion {\n border: 1px solid var(--border-color);\n border-radius: 8px;\n margin-bottom: 8px;\n overflow: hidden;\n }\n\n .response-accordion-header {\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n padding: 9px 12px;\n background: var(--code-bg);\n border: none;\n cursor: pointer;\n text-align: left;\n font-size: 12px;\n color: var(--text-color);\n transition: background 0.15s;\n }\n\n .response-accordion-header:hover { background: var(--hover-bg); }\n\n .response-accordion-caret {\n flex-shrink: 0;\n font-size: 10px;\n color: var(--text-muted);\n transition: transform 0.2s ease;\n }\n\n .response-accordion.open .response-accordion-caret {\n transform: rotate(90deg);\n }\n\n .response-status-dot {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n flex-shrink: 0;\n }\n\n .response-status-dot.status-2xx { background: #10b981; }\n .response-status-dot.status-3xx { background: #3b82f6; }\n .response-status-dot.status-4xx { background: #f59e0b; }\n .response-status-dot.status-5xx { background: #ef4444; }\n\n .response-status-code {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-weight: 600;\n }\n\n .response-status-desc {\n color: var(--text-muted);\n }\n\n .response-accordion-body {\n padding: 10px 12px;\n border-top: 1px solid var(--border-color);\n display: none;\n }\n\n .response-accordion.open .response-accordion-body { display: block; }\n\n .response-subhead {\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n margin: 0 0 6px;\n }\n\n .response-block + .response-block { margin-top: 12px; }\n\n /* Multi-language code samples */\n .http-code-samples {\n margin-top: 8px;\n border: 1px solid var(--border-color);\n border-radius: 8px;\n overflow: hidden;\n background: var(--code-bg);\n }\n\n .http-code-samples .code-tabs {\n flex-wrap: wrap;\n background: rgba(0,0,0,0.04);\n }\n\n [data-theme=\"dark\"] .http-code-samples .code-tabs {\n background: rgba(255,255,255,0.03);\n }\n\n .http-code-sample-pre {\n margin: 0;\n padding: 10px;\n background: transparent;\n border: none;\n border-radius: 0;\n overflow-x: auto;\n font-family: 'SF Mono', 'Fira Code', 'Monaco', monospace;\n font-size: 11px;\n line-height: 1.4;\n color: var(--text-color);\n white-space: pre;\n }\n\n .http-code-copy,\n .sample-code-copy {\n margin-left: auto;\n padding: 3px 8px;\n background: transparent;\n border: 1px solid var(--border-color);\n border-radius: 4px;\n color: var(--text-muted);\n font-size: 10px;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .http-code-copy:hover,\n .sample-code-copy:hover {\n color: #fff;\n border-color: #90a4ae;\n }\n\n /* Right panel (third column): keep request/response samples dark & legible\n regardless of the active theme, matching ReDoc's sample column. */\n .endpoint-right .endpoint-right-section + .endpoint-right-section {\n margin-top: 18px;\n }\n\n .endpoint-right .http-code-samples {\n background: rgba(0,0,0,0.25);\n border-color: rgba(255,255,255,0.1);\n }\n\n .endpoint-right .http-code-samples .code-tabs {\n background: rgba(0,0,0,0.2);\n border-color: rgba(255,255,255,0.1);\n }\n\n .endpoint-right .http-code-sample-pre {\n color: var(--code-panel-text);\n }\n\n .response-example-toolbar {\n display: flex;\n align-items: center;\n gap: 8px;\n min-height: 24px;\n margin: 2px 0 6px;\n }\n\n .response-example-toolbar .response-example-name {\n margin: 0;\n }\n\n .endpoint-right .sample-code {\n margin: 0;\n padding: 10px;\n overflow-x: auto;\n border: 1px solid rgba(255,255,255,0.1);\n border-radius: 6px;\n background: rgba(0,0,0,0.25);\n color: var(--code-panel-text);\n white-space: pre;\n word-break: normal;\n }\n\n .endpoint-right .sample-code code {\n color: inherit;\n font-family: 'SF Mono', 'Fira Code', 'Monaco', monospace;\n font-size: 11px;\n line-height: 1.4;\n white-space: inherit;\n }\n\n .endpoint-right .token.comment,\n .endpoint-right .token.prolog,\n .endpoint-right .token.doctype,\n .endpoint-right .token.cdata {\n color: #90a4ae;\n }\n\n .endpoint-right .token.punctuation { color: #cfd8dc; }\n\n .endpoint-right .token.property,\n .endpoint-right .token.tag,\n .endpoint-right .token.boolean,\n .endpoint-right .token.number,\n .endpoint-right .token.constant,\n .endpoint-right .token.symbol {\n color: #f8b500;\n }\n\n .endpoint-right .token.selector,\n .endpoint-right .token.attr-name,\n .endpoint-right .token.string,\n .endpoint-right .token.char,\n .endpoint-right .token.builtin {\n color: #a5d6a7;\n }\n\n .endpoint-right .token.operator,\n .endpoint-right .token.entity,\n .endpoint-right .token.url,\n .endpoint-right .token.variable {\n color: #89ddff;\n }\n\n .endpoint-right .token.atrule,\n .endpoint-right .token.attr-value,\n .endpoint-right .token.function,\n .endpoint-right .token.class-name {\n color: #82aaff;\n }\n\n .endpoint-right .token.keyword { color: #c792ea; }\n\n .endpoint-right .code-tab {\n color: #90a4ae;\n }\n\n .endpoint-right .code-tab.active {\n background: rgba(255,255,255,0.12);\n color: #fff;\n }\n\n .endpoint-right .response-subhead {\n color: #90a4ae;\n }\n\n /* ========== AUTHENTICATION ========== */\n .authentication-section {\n margin: 28px 36px 36px;\n padding: 24px;\n border: 1px solid var(--border-color);\n border-radius: 10px;\n background: var(--surface-color);\n }\n\n .authentication-header h2 {\n margin: 4px 0 6px;\n font-size: var(--font-size-h2);\n color: var(--text-primary);\n }\n\n .authentication-header p,\n .auth-scheme-description,\n .auth-scheme-meta {\n color: var(--text-muted);\n font-size: var(--font-size-small);\n }\n\n .auth-environment {\n display: grid;\n gap: 6px;\n margin: 18px 0;\n }\n\n .auth-environment-select,\n .auth-input,\n .auth-operation-body {\n width: 100%;\n padding: 8px 10px;\n border: 1px solid var(--border-color);\n border-radius: 6px;\n background: var(--bg-primary);\n color: var(--text-primary);\n font: inherit;\n font-size: var(--font-size-small);\n }\n\n .auth-operation-body {\n min-height: 112px;\n resize: vertical;\n font-family: ui-monospace, SFMono-Regular, Menlo, monospace;\n font-size: var(--font-size-code);\n }\n\n .auth-schemes {\n display: grid;\n gap: 12px;\n }\n\n .auth-scheme {\n padding: 16px;\n border: 1px solid var(--border-color);\n border-radius: 8px;\n background: var(--bg-primary);\n }\n\n .auth-scheme-title {\n display: flex;\n align-items: baseline;\n gap: 10px;\n margin-bottom: 10px;\n color: var(--text-primary);\n }\n\n .auth-scheme-title span,\n .auth-field-label,\n .auth-status {\n color: var(--text-muted);\n font-size: var(--font-size-xs);\n }\n\n .auth-form,\n .auth-field {\n display: grid;\n gap: 6px;\n }\n\n .auth-form { gap: 10px; }\n\n .auth-oauth-flow {\n display: grid;\n gap: 10px;\n margin: 6px 0;\n padding: 14px;\n border: 1px solid var(--border-color);\n border-radius: 7px;\n }\n\n .auth-oauth-flow legend {\n padding: 0 6px;\n font-weight: 600;\n font-size: var(--font-size-small);\n }\n\n .auth-actions {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 10px;\n }\n\n .auth-save,\n .auth-request-token,\n .auth-oauth-token,\n .auth-oauth-authorize,\n .auth-oidc-authorize {\n padding: 7px 12px;\n border: 1px solid var(--primary-color);\n border-radius: 6px;\n background: transparent;\n color: var(--primary-color);\n cursor: pointer;\n font-size: var(--font-size-small);\n font-weight: 600;\n }\n\n .auth-status-error { color: #dc2626; }\n\n @media (max-width: 760px) {\n .authentication-section { margin: 20px 16px 28px; padding: 18px; }\n }\n\n .docs-overview-server-variables {\n width: 100%;\n margin-top: 8px;\n color: var(--text-muted);\n font-size: var(--font-size-xs);\n }\n\n .docs-overview-server-variables ul {\n display: grid;\n gap: 5px;\n margin-top: 5px;\n list-style: none;\n }\n\n .docs-overview-server-variables li {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n }\n\n .endpoint-deprecated,\n .http-param-deprecated {\n padding: 2px 6px;\n border: 1px solid #d97706;\n border-radius: 4px;\n color: #b45309;\n font-size: var(--font-size-xs);\n font-weight: 600;\n }\n\n .response-media-sample + .response-media-sample,\n .request-example + .request-example {\n margin-top: 14px;\n padding-top: 14px;\n border-top: 1px solid rgba(255,255,255,0.12);\n }\n\n .response-example-name {\n margin: 6px 0;\n color: var(--text-muted);\n font-size: var(--font-size-xs);\n font-weight: 600;\n }\n\n .sample-code-error { color: #fca5a5; }\n\n .response-link {\n display: grid;\n gap: 4px;\n margin-top: 8px;\n padding: 10px;\n border: 1px solid var(--border-color);\n border-radius: 6px;\n font-size: var(--font-size-small);\n }\n\n .response-link-parameters { white-space: pre-wrap; }\n\n .http-try {\n display: grid;\n gap: 10px;\n margin-top: 12px;\n }\n\n .http-try-run {\n justify-self: start;\n padding: 7px 12px;\n border: 1px solid #8bc34a;\n border-radius: 6px;\n background: transparent;\n color: #c5e1a5;\n cursor: pointer;\n font-size: var(--font-size-small);\n font-weight: 600;\n }\n\n .http-try-run:disabled { cursor: wait; opacity: 0.6; }\n\n .http-try-result {\n max-height: 280px;\n overflow: auto;\n padding: 12px;\n border: 1px solid rgba(255,255,255,0.1);\n border-radius: 6px;\n color: var(--code-panel-text);\n white-space: pre-wrap;\n }\n\n .async-contracts {\n margin: 28px 36px;\n padding: 22px;\n border: 1px solid var(--border-color);\n border-radius: 9px;\n background: var(--surface-color);\n }\n\n .endpoint-left > .async-contracts { margin: 16px 0 0; }\n\n .async-contracts h2 { font-size: var(--font-size-h3); }\n .async-contracts h3 { margin-top: 14px; font-size: var(--font-size-h5); }\n .async-contract-note { margin: 5px 0 12px; color: var(--text-muted); font-size: var(--font-size-small); }\n\n .async-contract {\n display: grid;\n gap: 7px;\n margin-top: 8px;\n padding: 10px;\n border: 1px solid var(--border-color);\n border-radius: 6px;\n }\n\n .async-contract-operation {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 8px;\n font-size: var(--font-size-small);\n }\n\n @media (max-width: 760px) {\n .async-contracts { margin: 20px 16px; padding: 18px; }\n }\n\n";
|
|
2
2
|
//# sourceMappingURL=schema-code.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-code.d.ts","sourceRoot":"","sources":["../../../../../src/docs/ui/style-sections/schema-code.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB
|
|
1
|
+
{"version":3,"file":"schema-code.d.ts","sourceRoot":"","sources":["../../../../../src/docs/ui/style-sections/schema-code.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,w25BAgrC5B,CAAA"}
|