* { margin: 0; padding: 0; box-sizing: border-box; } :root { --primary-color: #6366f1; --primary-dark: #4f46e5; --secondary-color: #f1f5f9; --text-primary: #1e293b; --text-secondary: #64748b; --text-muted: #94a3b8; --background: #ffffff; --surface: #f8fafc; --border: #e2e8f0; --border-light: #f1f5f9; --success: #10b981; --warning: #f59e0b; --error: #ef4444; --info: #3b82f6; --shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); --shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1); --gradient: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%); --code-bg: #1e293b; --code-text: #e2e8f0; } body { font-family: 'Inter', sans-serif; line-height: 1.6; color: var(--text-primary); background: var(--background); } /* Navigation */ .navbar { position: fixed; top: 0; width: 100%; background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); z-index: 1000; border-bottom: 1px solid var(--border); } .nav-container { max-width: 1200px; margin: 0 auto; padding: 1rem 2rem; display: flex; justify-content: space-between; align-items: center; } .nav-logo { font-size: 1.5rem; font-weight: 700; background: var(--gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; text-decoration: none; } .nav-menu { display: flex; list-style: none; gap: 2rem; } .nav-link { text-decoration: none; color: var(--text-primary); font-weight: 500; transition: color 0.3s ease; } .nav-link:hover { color: var(--primary-color); } .nav-actions { display: flex; align-items: center; gap: 1rem; } /* Buttons */ .btn { padding: 0.75rem 1.5rem; border: none; border-radius: 0.5rem; font-weight: 600; cursor: pointer; transition: all 0.3s ease; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; font-size: 0.875rem; } .btn-primary { background: var(--gradient); color: white; box-shadow: var(--shadow); } .btn-primary:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); } .btn-secondary { background: white; color: var(--text-primary); border: 2px solid var(--border); } .btn-secondary:hover { border-color: var(--primary-color); color: var(--primary-color); } .btn-ghost { background: transparent; color: var(--text-secondary); border: none; } .btn-ghost:hover { background: var(--surface); color: var(--text-primary); } /* Layout */ .docs-layout { display: flex; margin-top: 80px; min-height: calc(100vh - 80px); } .sidebar { width: 280px; background: var(--surface); border-right: 1px solid var(--border); position: sticky; top: 80px; height: calc(100vh - 80px); overflow-y: auto; } .sidebar-content { padding: 2rem 1.5rem; } .sidebar-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 2rem; padding-bottom: 1rem; border-bottom: 1px solid var(--border); } .sidebar-header h3 { font-size: 1.25rem; font-weight: 600; } .api-version { background: var(--primary-color); color: white; padding: 0.25rem 0.75rem; border-radius: 1rem; font-size: 0.75rem; font-weight: 600; } .sidebar-nav { display: flex; flex-direction: column; gap: 1.5rem; } .nav-section h4 { font-size: 0.875rem; font-weight: 600; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 0.75rem; } .nav-section ul { list-style: none; display: flex; flex-direction: column; gap: 0.25rem; } .nav-item { display: block; padding: 0.5rem 0.75rem; color: var(--text-secondary); text-decoration: none; border-radius: 0.375rem; font-size: 0.875rem; transition: all 0.3s ease; } .nav-item:hover, .nav-item.active { background: var(--primary-color); color: white; } .main-content { flex: 1; overflow-x: hidden; } .content-container { max-width: 800px; padding: 2rem; } /* Documentation Sections */ .doc-section { margin-bottom: 4rem; scroll-margin-top: 100px; } .doc-section h1 { font-size: 3rem; font-weight: 700; margin-bottom: 1rem; background: var(--gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .doc-section h2 { font-size: 2rem; font-weight: 700; margin-bottom: 1.5rem; color: var(--text-primary); } .doc-section h3 { font-size: 1.5rem; font-weight: 600; margin-bottom: 1rem; margin-top: 2rem; } .doc-section h4 { font-size: 1.125rem; font-weight: 600; margin-bottom: 0.75rem; margin-top: 1.5rem; } .lead { font-size: 1.25rem; color: var(--text-secondary); margin-bottom: 2rem; line-height: 1.7; } .doc-section p { margin-bottom: 1rem; color: var(--text-secondary); line-height: 1.7; } .doc-section code { background: var(--surface); padding: 0.125rem 0.375rem; border-radius: 0.25rem; font-family: 'JetBrains Mono', monospace; font-size: 0.875rem; color: var(--primary-color); } /* Info Cards */ .info-card { background: white; border: 1px solid var(--border); border-radius: 0.75rem; margin: 2rem 0; overflow: hidden; } .info-header { background: var(--surface); padding: 1rem 1.5rem; border-bottom: 1px solid var(--border); } .info-header h3 { font-size: 1rem; font-weight: 600; margin: 0; } /* Features Grid */ .features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1.5rem; margin: 2rem 0; } .feature-card { background: white; padding: 1.5rem; border-radius: 0.75rem; border: 1px solid var(--border); text-align: center; } .feature-icon { font-size: 2rem; margin-bottom: 1rem; } .feature-card h4 { font-size: 1.125rem; font-weight: 600; margin-bottom: 0.5rem; margin-top: 0; } .feature-card p { color: var(--text-secondary); font-size: 0.875rem; margin: 0; } /* Code Examples */ .code-example { margin: 1.5rem 0; border-radius: 0.75rem; overflow: hidden; border: 1px solid var(--border); } .code-header { background: var(--surface); padding: 0.75rem 1rem; border-bottom: 1px solid var(--border); font-size: 0.875rem; font-weight: 500; color: var(--text-secondary); } .code-block { position: relative; background: var(--code-bg); color: var(--code-text); padding: 1.5rem; overflow-x: auto; } .code-block pre { margin: 0; font-family: 'JetBrains Mono', monospace; font-size: 0.875rem; line-height: 1.5; } .code-block code { background: none; color: inherit; padding: 0; border-radius: 0; } .copy-btn { position: absolute; top: 1rem; right: 1rem; background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.2); color: white; padding: 0.5rem 0.75rem; border-radius: 0.375rem; font-size: 0.75rem; cursor: pointer; transition: all 0.3s ease; } .copy-btn:hover { background: rgba(255, 255, 255, 0.2); } .copy-btn.copied { background: var(--success); border-color: var(--success); } /* Alerts */ .alert { display: flex; align-items: flex-start; gap: 1rem; padding: 1rem 1.5rem; border-radius: 0.75rem; margin: 1.5rem 0; } .alert-info { background: rgba(59, 130, 246, 0.1); border: 1px solid rgba(59, 130, 246, 0.2); } .alert-icon { font-size: 1.25rem; margin-top: 0.125rem; } .alert-content { flex: 1; color: var(--text-primary); line-height: 1.6; } .alert-content strong { font-weight: 600; } .alert-link { color: var(--primary-color); text-decoration: none; } .alert-link:hover { text-decoration: underline; } /* Tables */ .table-container { margin: 1.5rem 0; overflow-x: auto; border-radius: 0.75rem; border: 1px solid var(--border); } .api-table { width: 100%; border-collapse: collapse; background: white; } .api-table th { background: var(--surface); padding: 1rem; text-align: left; font-weight: 600; font-size: 0.875rem; color: var(--text-primary); border-bottom: 1px solid var(--border); } .api-table td { padding: 1rem; border-bottom: 1px solid var(--border-light); font-size: 0.875rem; color: var(--text-secondary); } .api-table tr:last-child td { border-bottom: none; } .api-table code { background: var(--surface); padding: 0.125rem 0.375rem; border-radius: 0.25rem; font-family: 'JetBrains Mono', monospace; font-size: 0.75rem; color: var(--primary-color); } /* Status Codes and Badges */ .status-code { padding: 0.25rem 0.75rem; border-radius: 0.375rem; font-size: 0.75rem; font-weight: 600; font-family: 'JetBrains Mono', monospace; } .status-code.success { background: rgba(16, 185, 129, 0.1); color: var(--success); } .status-code.client-error { background: rgba(245, 158, 11, 0.1); color: var(--warning); } .status-code.server-error { background: rgba(239, 68, 68, 0.1); color: var(--error); } .plan-badge { padding: 0.25rem 0.75rem; border-radius: 1rem; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; } .plan-badge.free { background: rgba(100, 116, 139, 0.1); color: var(--text-secondary); } .plan-badge.pro { background: rgba(99, 102, 241, 0.1); color: var(--primary-color); } .plan-badge.enterprise { background: rgba(16, 185, 129, 0.1); color: var(--success); } .required { color: var(--error); font-weight: 600; font-size: 0.75rem; } .optional { color: var(--text-muted); font-weight: 500; font-size: 0.75rem; } /* Endpoints */ .endpoint { background: white; border: 1px solid var(--border); border-radius: 0.75rem; margin: 2rem 0; overflow: hidden; } .endpoint-header { background: var(--surface); padding: 1rem 1.5rem; border-bottom: 1px solid var(--border); display: flex; align-items: center; gap: 1rem; } .method { padding: 0.375rem 0.75rem; border-radius: 0.375rem; font-size: 0.75rem; font-weight: 700; font-family: 'JetBrains Mono', monospace; text-transform: uppercase; } .method.get { background: rgba(16, 185, 129, 0.1); color: var(--success); } .method.post { background: rgba(59, 130, 246, 0.1); color: var(--info); } .method.put { background: rgba(245, 158, 11, 0.1); color: var(--warning); } .method.delete { background: rgba(239, 68, 68, 0.1); color: var(--error); } .path { font-family: 'JetBrains Mono', monospace; font-size: 1rem; font-weight: 600; color: var(--text-primary); } .endpoint > p { padding: 1.5rem; margin: 0; color: var(--text-secondary); } .endpoint h4 { padding: 0 1.5rem; margin-top: 1.5rem; margin-bottom: 0.75rem; } .endpoint .code-example { margin: 1rem 1.5rem; } .endpoint .table-container { margin: 1rem 1.5rem; } /* SDK Grid */ .sdk-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.5rem; margin: 2rem 0; } .sdk-card { background: white; border: 1px solid var(--border); border-radius: 0.75rem; padding: 1.5rem; } .sdk-header { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; } .sdk-icon { font-size: 2rem; } .sdk-header h4 { margin: 0; font-size: 1.125rem; font-weight: 600; } .sdk-card p { color: var(--text-secondary); margin-bottom: 1.5rem; } .sdk-actions { display: flex; gap: 0.75rem; } /* Postman Card */ .postman-card { background: white; border: 1px solid var(--border); border-radius: 0.75rem; padding: 1.5rem; display: flex; justify-content: space-between; align-items: center; margin: 1.5rem 0; } .postman-content { display: flex; align-items: center; gap: 1rem; } .postman-icon { font-size: 2rem; } .postman-content h4 { margin: 0 0 0.25rem 0; font-size: 1.125rem; font-weight: 600; } .postman-content p { margin: 0; color: var(--text-secondary); font-size: 0.875rem; } /* Changelog */ .changelog { display: flex; flex-direction: column; gap: 2rem; } .changelog-item { display: flex; gap: 2rem; padding-bottom: 2rem; border-bottom: 1px solid var(--border); } .changelog-item:last-child { border-bottom: none; padding-bottom: 0; } .changelog-date { min-width: 150px; } .changelog-version { background: var(--primary-color); color: white; padding: 0.25rem 0.75rem; border-radius: 1rem; font-size: 0.75rem; font-weight: 600; display: inline-block; margin-bottom: 0.5rem; } .changelog-timestamp { font-size: 0.875rem; color: var(--text-secondary); } .changelog-content h4 { margin-top: 0; margin-bottom: 0.75rem; font-size: 1.125rem; font-weight: 600; } .changelog-content ul { margin: 0; padding-left: 1.5rem; } .changelog-content li { color: var(--text-secondary); margin-bottom: 0.25rem; } /* Toast */ .toast { position: fixed; top: 2rem; right: 2rem; background: var(--success); color: white; padding: 1rem 1.5rem; border-radius: 0.5rem; box-shadow: var(--shadow-lg); transform: translateX(100%); transition: transform 0.3s ease; z-index: 1000; } .toast.show { transform: translateX(0); } .toast-content { display: flex; align-items: center; gap: 0.5rem; } .toast-icon { font-size: 1.25rem; } /* Responsive Design */ @media (max-width: 1024px) { .docs-layout { flex-direction: column; } .sidebar { width: 100%; height: auto; position: static; border-right: none; border-bottom: 1px solid var(--border); } .sidebar-content { padding: 1.5rem; } .sidebar-nav { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; } .nav-section { background: white; padding: 1rem; border-radius: 0.5rem; border: 1px solid var(--border); } } @media (max-width: 768px) { .nav-menu { display: none; } .content-container { padding: 1rem; } .doc-section h1 { font-size: 2rem; } .doc-section h2 { font-size: 1.5rem; } .features-grid { grid-template-columns: 1fr; } .sdk-grid { grid-template-columns: 1fr; } .postman-card { flex-direction: column; gap: 1rem; text-align: center; } .changelog-item { flex-direction: column; gap: 1rem; } .endpoint-header { flex-direction: column; align-items: flex-start; gap: 0.5rem; } .toast { top: 1rem; right: 1rem; left: 1rem; } } @media (max-width: 480px) { .sidebar-nav { grid-template-columns: 1fr; } .api-table { font-size: 0.75rem; } .api-table th, .api-table td { padding: 0.75rem 0.5rem; } }