Skip to main content
Glama
custom.css11.2 kB
/* Custom styles for DeFi MCP Server - Professional Award-Winning Design */ :root { --primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%); --success-gradient: linear-gradient(135deg, #11998e 0%, #38ef7d 100%); --award-gradient: linear-gradient(135deg, #f093fb 0%, #f5576c 50%, #4facfe 100%); --dark-bg: #0a0e27; --card-bg: #1a1f3a; --border-color: #2d3561; --text-primary: #ffffff; --text-secondary: #b8c5d6; --shadow-glow: 0 0 30px rgba(102, 126, 234, 0.3); --shadow-hover: 0 10px 40px rgba(0, 0, 0, 0.3); } /* Global styles */ body { min-height: 100vh; display: flex; flex-direction: column; background: var(--dark-bg); background-image: radial-gradient(at 0% 0%, rgba(102, 126, 234, 0.1) 0px, transparent 50%), radial-gradient(at 100% 100%, rgba(118, 75, 162, 0.1) 0px, transparent 50%); color: var(--text-primary); font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; } main { flex: 1; position: relative; z-index: 1; } /* Navigation enhancements */ .navbar { background: rgba(26, 31, 58, 0.95) !important; backdrop-filter: blur(10px); border-bottom: 1px solid var(--border-color); box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1); padding: 1rem 0; } .navbar-brand { font-weight: 700; font-size: 1.5rem; background: var(--primary-gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; letter-spacing: -0.5px; } .navbar-nav .nav-link { font-weight: 500; border-radius: 0.5rem; margin: 0 0.25rem; padding: 0.5rem 1rem !important; transition: all 0.3s ease; color: var(--text-secondary) !important; } .navbar-nav .nav-link:hover { background: var(--primary-gradient); color: white !important; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3); } /* Card enhancements */ .card { background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 1rem; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2); transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); overflow: hidden; position: relative; } .card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--primary-gradient); opacity: 0; transition: opacity 0.3s ease; } .card:hover { border-color: rgba(102, 126, 234, 0.5); box-shadow: var(--shadow-hover); transform: translateY(-5px); } .card:hover::before { opacity: 1; } .card-header { background: linear-gradient(135deg, rgba(102, 126, 234, 0.1) 0%, rgba(118, 75, 162, 0.1) 100%); border-bottom: 1px solid var(--border-color); border-radius: 1rem 1rem 0 0 !important; padding: 1.25rem 1.5rem; } /* Button enhancements */ .btn { border-radius: 0.75rem; font-weight: 600; padding: 0.75rem 1.5rem; transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); border: none; position: relative; overflow: hidden; } .btn::before { content: ''; position: absolute; top: 50%; left: 50%; width: 0; height: 0; border-radius: 50%; background: rgba(255, 255, 255, 0.2); transform: translate(-50%, -50%); transition: width 0.6s, height 0.6s; } .btn:hover::before { width: 300px; height: 300px; } .btn-primary { background: var(--primary-gradient); box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4); } .btn-primary:hover { transform: translateY(-3px); box-shadow: 0 8px 25px rgba(102, 126, 234, 0.5); } .btn-success { background: var(--success-gradient); box-shadow: 0 4px 15px rgba(17, 153, 142, 0.4); } .btn-success:hover { transform: translateY(-3px); box-shadow: 0 8px 25px rgba(17, 153, 142, 0.5); } .btn-lg { padding: 1rem 2rem; font-size: 1.1rem; border-radius: 1rem; } /* Form enhancements */ .form-control, .form-select { border-radius: 0.5rem; border: 1px solid var(--bs-border-color); transition: all 0.2s ease; } .form-control:focus, .form-select:focus { border-color: var(--bs-primary); box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.25); } /* Modal enhancements */ .modal-content { border-radius: 0.75rem; border: 1px solid var(--bs-border-color); } .modal-header { background-color: var(--bs-secondary-bg); border-radius: 0.75rem 0.75rem 0 0; } /* Toast styles */ .toast { border-radius: 0.5rem; border: 1px solid var(--bs-border-color); } /* Table enhancements */ .table { --bs-table-bg: transparent; } .table-hover tbody tr:hover { background-color: var(--bs-secondary-bg); } /* Badge enhancements */ .badge { font-weight: 500; padding: 0.35em 0.65em; } /* Icon enhancements */ .feather { stroke-width: 2; } /* Chart container */ #portfolioChart { max-height: 300px; } /* Status indicators */ .status-pending { color: var(--bs-warning); } .status-confirmed { color: var(--bs-success); } .status-failed { color: var(--bs-danger); } /* Loading states */ .loading { opacity: 0.6; pointer-events: none; } .spinner-border-sm { width: 1rem; height: 1rem; } /* Award Badge Styles */ .award-badge { display: inline-flex; align-items: center; gap: 0.5rem; background: var(--award-gradient); padding: 0.75rem 1.5rem; border-radius: 50px; color: white; font-weight: 700; font-size: 0.95rem; box-shadow: 0 4px 20px rgba(245, 87, 108, 0.4); animation: pulse-glow 2s ease-in-out infinite; text-transform: uppercase; letter-spacing: 0.5px; } @keyframes pulse-glow { 0%, 100% { box-shadow: 0 4px 20px rgba(245, 87, 108, 0.4); } 50% { box-shadow: 0 4px 30px rgba(245, 87, 108, 0.6); } } .hero-section { position: relative; padding: 6rem 0; overflow: hidden; } .hero-section::before { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: radial-gradient(circle, rgba(102, 126, 234, 0.1) 0%, transparent 70%); animation: rotate 20s linear infinite; } @keyframes rotate { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } .hero-content { position: relative; z-index: 2; } .gradient-text { background: var(--primary-gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } /* Feature Cards with Hover Effects */ .feature-card { height: 100%; transition: all 0.4s ease; } .feature-card:hover { transform: translateY(-10px) scale(1.02); } .feature-icon { width: 80px; height: 80px; border-radius: 20px; display: flex; align-items: center; justify-content: center; margin: 0 auto 1.5rem; background: var(--primary-gradient); box-shadow: var(--shadow-glow); transition: all 0.3s ease; } .feature-card:hover .feature-icon { transform: rotate(5deg) scale(1.1); box-shadow: 0 0 40px rgba(102, 126, 234, 0.5); } /* Stats Cards */ .stat-card { background: linear-gradient(135deg, rgba(102, 126, 234, 0.1) 0%, rgba(118, 75, 162, 0.1) 100%); border: 1px solid var(--border-color); border-radius: 1rem; padding: 1.5rem; transition: all 0.3s ease; } .stat-card:hover { background: linear-gradient(135deg, rgba(102, 126, 234, 0.2) 0%, rgba(118, 75, 162, 0.2) 100%); transform: translateY(-3px); box-shadow: var(--shadow-glow); } /* Responsive adjustments */ @media (max-width: 768px) { .navbar-brand { font-size: 1.2rem; } .display-4 { font-size: 2.5rem; } .lead { font-size: 1.1rem; } .btn-lg { padding: 0.75rem 1.5rem; font-size: 1rem; } .hero-section { padding: 4rem 0; } .award-badge { font-size: 0.85rem; padding: 0.6rem 1.2rem; } } @media (max-width: 576px) { .display-4 { font-size: 2rem; } .hero-section { padding: 3rem 0; } } /* Animation utilities */ @keyframes fadeIn { from { opacity: 0; transform: translateY(1rem); } to { opacity: 1; transform: translateY(0); } } .fade-in { animation: fadeIn 0.3s ease-out; } @keyframes slideIn { from { opacity: 0; transform: translateX(-1rem); } to { opacity: 1; transform: translateX(0); } } .slide-in { animation: slideIn 0.3s ease-out; } /* Code blocks */ pre { border-radius: 0.5rem; font-size: 0.875rem; } code { font-size: 0.875rem; color: var(--bs-info); background-color: var(--bs-secondary-bg); padding: 0.2rem 0.4rem; border-radius: 0.25rem; } /* Empty states */ .empty-state { text-align: center; padding: 3rem 1rem; } .empty-state .feather { width: 3rem; height: 3rem; margin-bottom: 1rem; opacity: 0.5; } /* Transaction status colors */ .tx-pending { color: var(--bs-warning); } .tx-confirmed { color: var(--bs-success); } .tx-failed { color: var(--bs-danger); } /* Protocol badges */ .protocol-ethereum { background-color: #627eea; } .protocol-polygon { background-color: #8247e5; } .protocol-solana { background-color: #00d4aa; } /* Blockchain icons */ .blockchain-icon { width: 1.5rem; height: 1.5rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; margin-right: 0.5rem; } .blockchain-ethereum { background-color: #627eea; } .blockchain-polygon { background-color: #8247e5; } .blockchain-solana { background-color: #00d4aa; } /* Position type indicators */ .position-lending { border-left: 4px solid var(--bs-success); } .position-farming { border-left: 4px solid var(--bs-warning); } .position-staking { border-left: 4px solid var(--bs-info); } /* Custom scrollbar for dark theme */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: var(--bs-secondary-bg); } ::-webkit-scrollbar-thumb { background: var(--bs-border-color); border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: var(--bs-secondary); } /* Utility classes */ .text-gradient { background: var(--primary-gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .border-gradient { border: 2px solid; border-image: var(--primary-gradient) 1; } .shadow-primary { box-shadow: var(--shadow-glow) !important; } .shadow-success { box-shadow: 0 0.5rem 1rem rgba(17, 153, 142, 0.3) !important; } /* Smooth scroll */ html { scroll-behavior: smooth; } /* Loading animations */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } } .fade-in-up { animation: fadeInUp 0.6s ease-out; } /* Glass morphism effect */ .glass { background: rgba(26, 31, 58, 0.7); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.1); } /* Footer enhancements */ footer { background: rgba(10, 14, 39, 0.8); backdrop-filter: blur(10px); border-top: 1px solid var(--border-color); margin-top: 5rem; } /* Focus states for accessibility */ .btn:focus, .form-control:focus, .form-select:focus { outline: 2px solid var(--bs-primary); outline-offset: 2px; } /* Print styles */ @media print { .navbar, .modal, .toast-container, .btn, .dropdown { display: none !important; } .card { break-inside: avoid; box-shadow: none; border: 1px solid #000; } }

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/JMadhan1/OneDefi-MCP'

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