raffel 1.1.49 → 1.1.50

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.
@@ -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 /* ========== 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: 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";
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,oueAspBlC,CAAA"}
1
+ {"version":3,"file":"layout-navigation.d.ts","sourceRoot":"","sources":["../../../../src/docs/ui/style-sections/layout-navigation.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,2ifAgqBlC,CAAA"}
@@ -39,6 +39,16 @@ export const layoutNavigationStyles = ` /* ========== LAYOUT ========== */
39
39
  gap: 0;
40
40
  }
41
41
 
42
+ /* Drop the (empty) TOC gutter on endpoint views so the operation's
43
+ two-column content — docs + samples panel — can use the full width. */
44
+ .main-shell.main-shell-no-toc {
45
+ grid-template-columns: minmax(0, 1fr);
46
+ }
47
+
48
+ .main-shell.main-shell-no-toc .toc {
49
+ display: none;
50
+ }
51
+
42
52
  /* ========== SIDEBAR ========== */
43
53
  .sidebar {
44
54
  background: var(--sidebar-bg);
@@ -1 +1 @@
1
- {"version":3,"file":"layout-navigation.js","sourceRoot":"","sources":["../../../../src/docs/ui/style-sections/layout-navigation.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAspBrC,CAAA"}
1
+ {"version":3,"file":"layout-navigation.js","sourceRoot":"","sources":["../../../../src/docs/ui/style-sections/layout-navigation.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgqBrC,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 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 { color: var(--text-color); border-color: var(--text-muted); }\n\n";
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 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 { color: var(--text-color); border-color: var(--text-muted); }\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 .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";
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,+rmBAgxB5B,CAAA"}
1
+ {"version":3,"file":"schema-code.d.ts","sourceRoot":"","sources":["../../../../src/docs/ui/style-sections/schema-code.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,8ioBAizB5B,CAAA"}
@@ -782,5 +782,38 @@ export const schemaCodeStyles = ` /* ========== RESPONSE SAMPLES (Right Panel
782
782
 
783
783
  .http-code-copy:hover { color: var(--text-color); border-color: var(--text-muted); }
784
784
 
785
+ /* Right panel (third column): keep request/response samples dark & legible
786
+ regardless of the active theme, matching ReDoc's sample column. */
787
+ .endpoint-right .endpoint-right-section + .endpoint-right-section {
788
+ margin-top: 24px;
789
+ }
790
+
791
+ .endpoint-right .http-code-samples {
792
+ background: rgba(0,0,0,0.25);
793
+ border-color: rgba(255,255,255,0.1);
794
+ }
795
+
796
+ .endpoint-right .http-code-samples .code-tabs {
797
+ background: rgba(0,0,0,0.2);
798
+ border-color: rgba(255,255,255,0.1);
799
+ }
800
+
801
+ .endpoint-right .http-code-sample-pre {
802
+ color: var(--code-panel-text);
803
+ }
804
+
805
+ .endpoint-right .code-tab {
806
+ color: #90a4ae;
807
+ }
808
+
809
+ .endpoint-right .code-tab.active {
810
+ background: rgba(255,255,255,0.12);
811
+ color: #fff;
812
+ }
813
+
814
+ .endpoint-right .response-subhead {
815
+ color: #90a4ae;
816
+ }
817
+
785
818
  `;
786
819
  //# sourceMappingURL=schema-code.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-code.js","sourceRoot":"","sources":["../../../../src/docs/ui/style-sections/schema-code.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgxB/B,CAAA"}
1
+ {"version":3,"file":"schema-code.js","sourceRoot":"","sources":["../../../../src/docs/ui/style-sections/schema-code.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAizB/B,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 /* ========== 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: 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";
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,oueAspBlC,CAAA"}
1
+ {"version":3,"file":"layout-navigation.d.ts","sourceRoot":"","sources":["../../../../../src/docs/ui/style-sections/layout-navigation.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,2ifAgqBlC,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 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 { color: var(--text-color); border-color: var(--text-muted); }\n\n";
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 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 { color: var(--text-color); border-color: var(--text-muted); }\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 .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";
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,+rmBAgxB5B,CAAA"}
1
+ {"version":3,"file":"schema-code.d.ts","sourceRoot":"","sources":["../../../../../src/docs/ui/style-sections/schema-code.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,8ioBAizB5B,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "raffel",
3
- "version": "1.1.49",
3
+ "version": "1.1.50",
4
4
  "description": "Unified multi-protocol server runtime. One core, multiple transports.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",