Spaces:
Runtime error
Runtime error
| /* TTSFM Web Application Custom Styles */ | |
| :root { | |
| /* Clean Color Palette */ | |
| --primary-color: #4f46e5; | |
| --primary-dark: #3730a3; | |
| --primary-light: #6366f1; | |
| --secondary-color: #6b7280; | |
| --secondary-dark: #4b5563; | |
| --accent-color: #059669; | |
| --accent-dark: #047857; | |
| /* Status Colors */ | |
| --success-color: #059669; | |
| --warning-color: #d97706; | |
| --danger-color: #dc2626; | |
| --info-color: #2563eb; | |
| /* Clean Neutral Colors */ | |
| --light-color: #ffffff; | |
| --light-gray: #f9fafb; | |
| --medium-gray: #6b7280; | |
| --dark-color: #111827; | |
| --text-color: #374151; | |
| --text-muted: #6b7280; | |
| /* Design System */ | |
| --border-radius: 0.75rem; | |
| --border-radius-sm: 0.5rem; | |
| --border-radius-lg: 1rem; | |
| --box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); | |
| --box-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); | |
| --box-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25); | |
| --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); | |
| --transition-fast: all 0.15s cubic-bezier(0.4, 0, 0.2, 1); | |
| /* Gradients */ | |
| --gradient-primary: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-light) 100%); | |
| --gradient-secondary: linear-gradient(135deg, var(--secondary-color) 0%, var(--secondary-dark) 100%); | |
| --gradient-accent: linear-gradient(135deg, var(--accent-color) 0%, var(--accent-dark) 100%); | |
| --gradient-hero: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 50%, var(--accent-color) 100%); | |
| } | |
| /* Global Styles */ | |
| body { | |
| font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; | |
| line-height: 1.6; | |
| color: var(--text-color); | |
| background-color: #ffffff; | |
| font-weight: 400; | |
| -webkit-font-smoothing: antialiased; | |
| -moz-osx-font-smoothing: grayscale; | |
| } | |
| /* Enhanced Typography */ | |
| h1, h2, h3, h4, h5, h6 { | |
| font-weight: 700; | |
| line-height: 1.3; | |
| color: var(--dark-color); | |
| letter-spacing: -0.025em; | |
| } | |
| .display-1, .display-2, .display-3, .display-4 { | |
| font-weight: 800; | |
| letter-spacing: -0.05em; | |
| } | |
| .lead { | |
| font-size: 1.125rem; | |
| font-weight: 400; | |
| color: var(--text-muted); | |
| line-height: 1.8; | |
| } | |
| /* Simplified Button Styles */ | |
| .btn { | |
| font-weight: 600; | |
| border-radius: 12px; | |
| transition: all 0.3s ease; | |
| letter-spacing: 0.025em; | |
| border: none; | |
| box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); | |
| } | |
| .btn-primary { | |
| background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-light) 100%); | |
| color: white; | |
| } | |
| .btn-primary:hover { | |
| background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary-color) 100%); | |
| color: white; | |
| transform: translateY(-1px); | |
| box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15); | |
| } | |
| .btn-outline-primary { | |
| border: 2px solid var(--primary-color); | |
| color: var(--primary-color); | |
| background: transparent; | |
| box-shadow: none; | |
| } | |
| .btn-outline-primary:hover { | |
| background: var(--primary-color); | |
| border-color: var(--primary-color); | |
| color: white; | |
| transform: translateY(-1px); | |
| box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15); | |
| } | |
| .btn-lg { | |
| padding: 0.875rem 2rem; | |
| font-size: 1.125rem; | |
| border-radius: var(--border-radius); | |
| } | |
| .btn-sm { | |
| padding: 0.5rem 1rem; | |
| font-size: 0.875rem; | |
| border-radius: var(--border-radius-sm); | |
| } | |
| /* Clean Card Styles */ | |
| .card { | |
| border: 1px solid #e5e7eb; | |
| box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); | |
| transition: all 0.3s ease; | |
| border-radius: 16px; | |
| background: white; | |
| } | |
| .card:hover { | |
| box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); | |
| border-color: var(--primary-light); | |
| transform: translateY(-2px); | |
| } | |
| .card-body { | |
| padding: 2rem; | |
| } | |
| /* Clean Hero Section */ | |
| .hero-section { | |
| background: linear-gradient(135deg, #f9fafb 0%, #ffffff 100%); | |
| color: var(--text-color); | |
| padding: 5rem 0; | |
| min-height: 75vh; | |
| display: flex; | |
| align-items: center; | |
| border-bottom: 1px solid #e5e7eb; | |
| } | |
| .min-vh-75 { | |
| min-height: 75vh; | |
| } | |
| /* Status Indicators */ | |
| .status-indicator { | |
| display: inline-block; | |
| width: 8px; | |
| height: 8px; | |
| border-radius: 50%; | |
| background-color: #6c757d; | |
| } | |
| .status-online { | |
| background-color: #28a745; | |
| } | |
| .status-offline { | |
| background-color: #dc3545; | |
| } | |
| /* Footer */ | |
| .footer { | |
| margin-top: auto; | |
| } | |
| /* Clean Code Blocks */ | |
| pre { | |
| background-color: #f8fafc ; | |
| border: 1px solid #e5e7eb; | |
| border-radius: 8px; | |
| font-size: 0.875rem; | |
| } | |
| code { | |
| color: #374151; | |
| font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace; | |
| } | |
| /* Enhanced Form Styles */ | |
| .form-control, .form-select { | |
| border-radius: 12px; | |
| border: 2px solid #e5e7eb; | |
| transition: var(--transition); | |
| padding: 1rem 1.25rem; | |
| font-size: 1rem; | |
| background-color: #ffffff; | |
| color: var(--text-color); | |
| box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); | |
| } | |
| .form-control:focus, .form-select:focus { | |
| border-color: var(--primary-color); | |
| box-shadow: 0 0 0 4px rgba(79, 70, 229, 0.1); | |
| outline: none; | |
| background-color: #ffffff; | |
| transform: translateY(-1px); | |
| } | |
| .form-control:hover, .form-select:hover { | |
| border-color: var(--primary-light); | |
| box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); | |
| } | |
| .form-label { | |
| font-weight: 600; | |
| color: var(--dark-color); | |
| margin-bottom: 0.75rem; | |
| font-size: 0.95rem; | |
| } | |
| .form-text { | |
| color: var(--text-muted); | |
| font-size: 0.875rem; | |
| margin-top: 0.5rem; | |
| } | |
| .form-check-input { | |
| border-radius: var(--border-radius-sm); | |
| border: 2px solid #e2e8f0; | |
| width: 1.25rem; | |
| height: 1.25rem; | |
| } | |
| .form-check-input:checked { | |
| background-color: var(--primary-color); | |
| border-color: var(--primary-color); | |
| } | |
| .form-check-input:focus { | |
| box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1); | |
| } | |
| .form-check-label { | |
| color: var(--text-color); | |
| font-weight: 500; | |
| margin-left: 0.5rem; | |
| } | |
| /* Enhanced Status Indicators */ | |
| .status-indicator { | |
| display: inline-block; | |
| width: 12px; | |
| height: 12px; | |
| border-radius: 50%; | |
| margin-right: 8px; | |
| position: relative; | |
| animation: statusPulse 2s infinite; | |
| } | |
| .status-indicator::before { | |
| content: ''; | |
| position: absolute; | |
| top: -2px; | |
| left: -2px; | |
| right: -2px; | |
| bottom: -2px; | |
| border-radius: 50%; | |
| opacity: 0.3; | |
| animation: statusRing 2s infinite; | |
| } | |
| .status-online { | |
| background-color: var(--success-color); | |
| box-shadow: 0 0 8px rgba(16, 185, 129, 0.4); | |
| } | |
| .status-online::before { | |
| background-color: var(--success-color); | |
| } | |
| .status-offline { | |
| background-color: var(--danger-color); | |
| box-shadow: 0 0 8px rgba(239, 68, 68, 0.4); | |
| } | |
| .status-offline::before { | |
| background-color: var(--danger-color); | |
| } | |
| @keyframes statusPulse { | |
| 0%, 100% { opacity: 1; } | |
| 50% { opacity: 0.7; } | |
| } | |
| @keyframes statusRing { | |
| 0% { transform: scale(0.8); opacity: 0.8; } | |
| 100% { transform: scale(1.4); opacity: 0; } | |
| } | |
| /* Enhanced Audio Player */ | |
| .audio-player { | |
| width: 100%; | |
| margin-top: 1rem; | |
| border-radius: var(--border-radius); | |
| box-shadow: var(--box-shadow); | |
| background: var(--light-color); | |
| padding: 0.5rem; | |
| } | |
| .audio-player::-webkit-media-controls-panel { | |
| background-color: var(--light-color); | |
| border-radius: var(--border-radius-sm); | |
| } | |
| /* Enhanced Sections */ | |
| .features-section { | |
| padding: 6rem 0; | |
| background: linear-gradient(180deg, #ffffff 0%, var(--light-color) 100%); | |
| } | |
| .stats-section { | |
| padding: 4rem 0; | |
| background: var(--gradient-primary); | |
| color: white; | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .stats-section::before { | |
| content: ''; | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| bottom: 0; | |
| background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="stats-pattern" width="40" height="40" patternUnits="userSpaceOnUse"><circle cx="20" cy="20" r="1" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23stats-pattern)"/></svg>'); | |
| } | |
| .stat-card { | |
| text-align: center; | |
| padding: 2rem 1rem; | |
| background: rgba(255, 255, 255, 0.1); | |
| border-radius: var(--border-radius); | |
| backdrop-filter: blur(10px); | |
| border: 1px solid rgba(255, 255, 255, 0.2); | |
| transition: var(--transition); | |
| } | |
| .stat-card:hover { | |
| transform: translateY(-5px); | |
| background: rgba(255, 255, 255, 0.15); | |
| } | |
| .stat-icon { | |
| font-size: 2.5rem; | |
| margin-bottom: 1rem; | |
| color: rgba(255, 255, 255, 0.9); | |
| } | |
| .stat-number { | |
| font-size: 3rem; | |
| font-weight: 800; | |
| color: white; | |
| margin-bottom: 0.5rem; | |
| display: block; | |
| } | |
| .stat-label { | |
| color: rgba(255, 255, 255, 0.9); | |
| font-weight: 500; | |
| font-size: 0.95rem; | |
| } | |
| .quick-start-section { | |
| padding: 6rem 0; | |
| } | |
| .use-cases-section { | |
| padding: 6rem 0; | |
| background: var(--light-color); | |
| } | |
| .tech-specs-section { | |
| padding: 6rem 0; | |
| } | |
| .faq-section { | |
| padding: 6rem 0; | |
| background: var(--light-color); | |
| } | |
| .final-cta-section { | |
| padding: 6rem 0; | |
| background: var(--gradient-hero); | |
| color: white; | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .cta-background-animation { | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| bottom: 0; | |
| background: linear-gradient(45deg, transparent 30%, rgba(255,255,255,0.05) 50%, transparent 70%); | |
| animation: shimmer 4s ease-in-out infinite; | |
| } | |
| .section-badge { | |
| display: inline-block; | |
| background: var(--gradient-primary); | |
| color: white; | |
| padding: 0.5rem 1.5rem; | |
| border-radius: 2rem; | |
| font-size: 0.875rem; | |
| font-weight: 600; | |
| margin-bottom: 1.5rem; | |
| box-shadow: 0 4px 14px 0 rgba(99, 102, 241, 0.3); | |
| } | |
| /* Enhanced Loading States */ | |
| .loading-spinner { | |
| display: none; | |
| } | |
| .loading .loading-spinner { | |
| display: inline-block; | |
| } | |
| .loading .btn-text { | |
| display: none; | |
| } | |
| .loading { | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .loading::after { | |
| content: ''; | |
| position: absolute; | |
| top: 0; | |
| left: -100%; | |
| width: 100%; | |
| height: 100%; | |
| background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent); | |
| animation: loading-shimmer 1.5s infinite; | |
| } | |
| @keyframes loading-shimmer { | |
| 0% { left: -100%; } | |
| 100% { left: 100%; } | |
| } | |
| /* Enhanced Code Blocks */ | |
| .code-card { | |
| background: white; | |
| border-radius: var(--border-radius); | |
| box-shadow: var(--box-shadow); | |
| overflow: hidden; | |
| border: 1px solid #e2e8f0; | |
| transition: var(--transition); | |
| } | |
| .code-card:hover { | |
| transform: translateY(-2px); | |
| box-shadow: var(--box-shadow-lg); | |
| } | |
| .code-header { | |
| background: var(--light-gray); | |
| padding: 1rem 1.5rem; | |
| border-bottom: 1px solid #e2e8f0; | |
| display: flex; | |
| justify-content: between; | |
| align-items: center; | |
| } | |
| .code-header h4 { | |
| margin: 0; | |
| font-size: 1.1rem; | |
| color: var(--dark-color); | |
| } | |
| .code-content { | |
| padding: 1.5rem; | |
| background: #f8fafc; | |
| margin: 0; | |
| overflow-x: auto; | |
| } | |
| .code-content code { | |
| font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace; | |
| font-size: 0.9rem; | |
| line-height: 1.6; | |
| color: var(--text-color); | |
| } | |
| .code-footer { | |
| padding: 1rem 1.5rem; | |
| background: white; | |
| border-top: 1px solid #e2e8f0; | |
| } | |
| .copy-btn { | |
| font-size: 0.8rem; | |
| padding: 0.25rem 0.75rem; | |
| } | |
| /* Enhanced Use Case Cards */ | |
| .use-case-card { | |
| background: white; | |
| border-radius: var(--border-radius); | |
| padding: 2rem; | |
| box-shadow: var(--box-shadow); | |
| transition: var(--transition); | |
| border: 1px solid #e2e8f0; | |
| height: 100%; | |
| text-align: center; | |
| } | |
| .use-case-card:hover { | |
| transform: translateY(-4px); | |
| box-shadow: var(--box-shadow-lg); | |
| border-color: rgba(99, 102, 241, 0.2); | |
| } | |
| .use-case-icon { | |
| width: 4rem; | |
| height: 4rem; | |
| background: var(--gradient-primary); | |
| border-radius: 50%; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| font-size: 1.5rem; | |
| color: white; | |
| margin: 0 auto 1.5rem; | |
| box-shadow: 0 4px 14px 0 rgba(99, 102, 241, 0.3); | |
| } | |
| .use-case-title { | |
| font-size: 1.25rem; | |
| font-weight: 700; | |
| color: var(--dark-color); | |
| margin-bottom: 1rem; | |
| } | |
| .use-case-description { | |
| color: var(--text-muted); | |
| margin-bottom: 1.5rem; | |
| line-height: 1.7; | |
| } | |
| .use-case-examples { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 0.5rem; | |
| justify-content: center; | |
| } | |
| .use-case-examples .badge { | |
| font-size: 0.75rem; | |
| padding: 0.4rem 0.8rem; | |
| border-radius: 1rem; | |
| background: var(--light-gray); | |
| color: var(--text-color); | |
| border: 1px solid #e2e8f0; | |
| } | |
| /* Enhanced Tech Spec Cards */ | |
| .tech-spec-card { | |
| background: white; | |
| border-radius: var(--border-radius); | |
| padding: 2rem; | |
| box-shadow: var(--box-shadow); | |
| transition: var(--transition); | |
| border: 1px solid #e2e8f0; | |
| height: 100%; | |
| } | |
| .tech-spec-card:hover { | |
| transform: translateY(-2px); | |
| box-shadow: var(--box-shadow-lg); | |
| } | |
| .tech-spec-icon { | |
| width: 3rem; | |
| height: 3rem; | |
| background: var(--gradient-accent); | |
| border-radius: var(--border-radius-sm); | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| font-size: 1.25rem; | |
| color: white; | |
| margin: 0 auto 1rem; | |
| } | |
| .tech-spec-card h4, .tech-spec-card h5 { | |
| color: var(--dark-color); | |
| margin-bottom: 1.5rem; | |
| } | |
| .tech-spec-card ul { | |
| list-style: none; | |
| padding: 0; | |
| } | |
| .tech-spec-card li { | |
| padding: 0.5rem 0; | |
| color: var(--text-color); | |
| border-bottom: 1px solid #f1f5f9; | |
| } | |
| .tech-spec-card li:last-child { | |
| border-bottom: none; | |
| } | |
| /* Enhanced Validation Styles */ | |
| .badge { | |
| font-size: 0.75em; | |
| padding: 0.4em 0.8em; | |
| border-radius: 1rem; | |
| font-weight: 600; | |
| letter-spacing: 0.025em; | |
| } | |
| .validation-result { | |
| animation: slideDown 0.3s ease; | |
| } | |
| @keyframes slideDown { | |
| from { | |
| opacity: 0; | |
| transform: translateY(-10px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| /* Enhanced Alert Styles */ | |
| .alert { | |
| border-radius: var(--border-radius); | |
| border: none; | |
| box-shadow: var(--box-shadow); | |
| padding: 1rem 1.5rem; | |
| } | |
| .alert-success { | |
| background: linear-gradient(135deg, rgba(16, 185, 129, 0.1) 0%, rgba(16, 185, 129, 0.05) 100%); | |
| color: #065f46; | |
| border-left: 4px solid var(--success-color); | |
| } | |
| .alert-warning { | |
| background: linear-gradient(135deg, rgba(245, 158, 11, 0.1) 0%, rgba(245, 158, 11, 0.05) 100%); | |
| color: #92400e; | |
| border-left: 4px solid var(--warning-color); | |
| } | |
| .alert-danger { | |
| background: linear-gradient(135deg, rgba(239, 68, 68, 0.1) 0%, rgba(239, 68, 68, 0.05) 100%); | |
| color: #991b1b; | |
| border-left: 4px solid var(--danger-color); | |
| } | |
| .alert-info { | |
| background: linear-gradient(135deg, rgba(59, 130, 246, 0.1) 0%, rgba(59, 130, 246, 0.05) 100%); | |
| color: #1e40af; | |
| border-left: 4px solid var(--info-color); | |
| } | |
| /* Enhanced Accordion */ | |
| .accordion-item { | |
| border: none; | |
| margin-bottom: 1rem; | |
| border-radius: var(--border-radius) ; | |
| box-shadow: var(--box-shadow); | |
| overflow: hidden; | |
| } | |
| .accordion-button { | |
| background: white; | |
| border: none; | |
| padding: 1.5rem; | |
| font-weight: 600; | |
| color: var(--dark-color); | |
| border-radius: var(--border-radius) ; | |
| } | |
| .accordion-button:not(.collapsed) { | |
| background: var(--light-gray); | |
| color: var(--primary-color); | |
| box-shadow: none; | |
| } | |
| .accordion-button:focus { | |
| box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1); | |
| border-color: transparent; | |
| } | |
| .accordion-body { | |
| padding: 1.5rem; | |
| background: white; | |
| color: var(--text-color); | |
| line-height: 1.7; | |
| } | |
| /* Enhanced CTA Buttons */ | |
| .cta-btn-primary, .cta-btn-secondary { | |
| position: relative; | |
| overflow: hidden; | |
| backdrop-filter: blur(10px); | |
| border-radius: var(--border-radius); | |
| } | |
| .cta-btn-primary small, .cta-btn-secondary small { | |
| font-size: 0.75rem; | |
| opacity: 0.9; | |
| font-weight: 400; | |
| } | |
| .cta-content { | |
| position: relative; | |
| z-index: 2; | |
| } | |
| .cta-buttons { | |
| margin: 2rem 0; | |
| } | |
| .cta-stats { | |
| margin-top: 3rem; | |
| } | |
| .cta-stat h4 { | |
| font-size: 2rem; | |
| font-weight: 800; | |
| margin-bottom: 0.25rem; | |
| } | |
| .cta-stat small { | |
| font-size: 0.9rem; | |
| opacity: 0.9; | |
| } | |
| /* Enhanced Quick Start */ | |
| .quick-start-cta { | |
| background: white; | |
| border-radius: var(--border-radius-lg); | |
| padding: 3rem; | |
| box-shadow: var(--box-shadow-lg); | |
| text-align: center; | |
| border: 1px solid #e2e8f0; | |
| } | |
| .quick-start-cta h4 { | |
| color: var(--dark-color); | |
| margin-bottom: 1.5rem; | |
| } | |
| /* Enhanced Batch Processing */ | |
| .batch-chunk-card { | |
| transition: var(--transition); | |
| border: 1px solid #e2e8f0; | |
| border-radius: var(--border-radius); | |
| overflow: hidden; | |
| } | |
| .batch-chunk-card:hover { | |
| transform: translateY(-2px); | |
| box-shadow: var(--box-shadow-lg); | |
| border-color: rgba(99, 102, 241, 0.2); | |
| } | |
| .batch-chunk-card .card-body { | |
| padding: 1.5rem; | |
| } | |
| .batch-chunk-card .card-title { | |
| font-size: 1rem; | |
| font-weight: 600; | |
| color: var(--dark-color); | |
| } | |
| .batch-chunk-card .card-text { | |
| color: var(--text-muted); | |
| line-height: 1.6; | |
| } | |
| .download-chunk { | |
| transition: var(--transition-fast); | |
| } | |
| .download-chunk:hover { | |
| transform: scale(1.1); | |
| } | |
| /* Enhanced Navigation */ | |
| .navbar { | |
| backdrop-filter: blur(10px); | |
| background: rgba(255, 255, 255, 0.95) ; | |
| border-bottom: 1px solid rgba(226, 232, 240, 0.8); | |
| box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1); | |
| } | |
| .navbar-brand { | |
| font-weight: 800; | |
| font-size: 1.5rem; | |
| color: var(--primary-color) ; | |
| transition: var(--transition); | |
| } | |
| .navbar-brand:hover { | |
| transform: scale(1.05); | |
| } | |
| .navbar-nav .nav-link { | |
| font-weight: 500; | |
| transition: var(--transition); | |
| color: var(--text-color) ; | |
| position: relative; | |
| padding: 0.75rem 1rem ; | |
| } | |
| .navbar-nav .nav-link::after { | |
| content: ''; | |
| position: absolute; | |
| bottom: 0; | |
| left: 50%; | |
| width: 0; | |
| height: 2px; | |
| background: var(--gradient-primary); | |
| transition: var(--transition); | |
| transform: translateX(-50%); | |
| } | |
| .navbar-nav .nav-link:hover::after { | |
| width: 80%; | |
| } | |
| .navbar-nav .nav-link:hover { | |
| color: var(--primary-color) ; | |
| } | |
| .navbar-text { | |
| color: var(--text-muted) ; | |
| font-weight: 500; | |
| } | |
| /* Enhanced Footer */ | |
| .footer { | |
| background: linear-gradient(135deg, var(--dark-color) 0%, #2d3748 100%); | |
| color: white; | |
| padding: 3rem 0 2rem; | |
| margin-top: 6rem; | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .footer::before { | |
| content: ''; | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| bottom: 0; | |
| background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="footer-pattern" width="20" height="20" patternUnits="userSpaceOnUse"><circle cx="10" cy="10" r="0.5" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23footer-pattern)"/></svg>'); | |
| } | |
| .footer h5 { | |
| color: white; | |
| font-weight: 700; | |
| margin-bottom: 1rem; | |
| } | |
| .footer p, .footer a { | |
| color: rgba(255, 255, 255, 0.8); | |
| transition: var(--transition); | |
| } | |
| .footer a:hover { | |
| color: white; | |
| text-decoration: none; | |
| } | |
| /* Enhanced Responsive Design */ | |
| @media (max-width: 1200px) { | |
| .hero-section { | |
| padding: 4rem 0; | |
| } | |
| .floating-icon-container { | |
| width: 250px; | |
| height: 250px; | |
| } | |
| .floating-icon { | |
| width: 50px; | |
| height: 50px; | |
| font-size: 1.25rem; | |
| } | |
| .hero-main-icon { | |
| width: 100px; | |
| height: 100px; | |
| font-size: 2.5rem; | |
| } | |
| } | |
| @media (max-width: 992px) { | |
| .hero-section { | |
| padding: 3rem 0; | |
| min-height: auto; | |
| } | |
| .display-3 { | |
| font-size: 2.5rem; | |
| } | |
| .features-section, .stats-section, .quick-start-section, | |
| .use-cases-section, .tech-specs-section, .faq-section, | |
| .final-cta-section { | |
| padding: 4rem 0; | |
| } | |
| .floating-icon-container { | |
| display: none; | |
| } | |
| .hero-visual { | |
| margin-top: 2rem; | |
| } | |
| } | |
| @media (max-width: 768px) { | |
| .hero-section { | |
| padding: 2rem 0; | |
| text-align: center; | |
| } | |
| .display-3 { | |
| font-size: 2rem; | |
| } | |
| .lead { | |
| font-size: 1rem; | |
| } | |
| .btn-lg { | |
| padding: 0.75rem 1.5rem; | |
| font-size: 1rem; | |
| width: 100%; | |
| margin-bottom: 1rem; | |
| } | |
| .hero-stats .col-4 { | |
| margin-bottom: 1rem; | |
| } | |
| .stat-item h3 { | |
| font-size: 2rem; | |
| } | |
| .features-section, .stats-section, .quick-start-section, | |
| .use-cases-section, .tech-specs-section, .faq-section, | |
| .final-cta-section { | |
| padding: 3rem 0; | |
| } | |
| .feature-card-enhanced, .use-case-card, .tech-spec-card { | |
| margin-bottom: 2rem; | |
| } | |
| .code-card { | |
| margin-bottom: 1.5rem; | |
| } | |
| .code-header { | |
| flex-direction: column; | |
| gap: 1rem; | |
| text-align: center; | |
| } | |
| .quick-start-cta { | |
| padding: 2rem 1rem; | |
| } | |
| .cta-buttons .btn { | |
| width: 100%; | |
| margin-bottom: 1rem; | |
| } | |
| .navbar-nav { | |
| text-align: center; | |
| padding: 1rem 0; | |
| } | |
| .toc { | |
| position: static; | |
| margin-bottom: 2rem; | |
| max-height: none; | |
| } | |
| } | |
| @media (max-width: 576px) { | |
| .container { | |
| padding-left: 1rem; | |
| padding-right: 1rem; | |
| } | |
| .hero-section { | |
| padding: 1.5rem 0; | |
| } | |
| .display-3 { | |
| font-size: 1.75rem; | |
| } | |
| .card-body { | |
| padding: 1.5rem; | |
| } | |
| .feature-card-enhanced, .use-case-card, .tech-spec-card { | |
| padding: 1.5rem; | |
| } | |
| .stat-number { | |
| font-size: 2.5rem; | |
| } | |
| .hero-main-icon { | |
| width: 80px; | |
| height: 80px; | |
| font-size: 2rem; | |
| } | |
| .pulse-ring { | |
| width: 100px; | |
| height: 100px; | |
| } | |
| } | |
| /* Enhanced Accessibility */ | |
| .btn:focus, | |
| .form-control:focus, | |
| .form-select:focus, | |
| .form-check-input:focus { | |
| outline: 3px solid rgba(99, 102, 241, 0.3); | |
| outline-offset: 2px; | |
| } | |
| .btn:focus-visible, | |
| .form-control:focus-visible, | |
| .form-select:focus-visible { | |
| outline: 3px solid var(--primary-color); | |
| outline-offset: 2px; | |
| } | |
| /* Skip to content link for screen readers */ | |
| .skip-link { | |
| position: absolute; | |
| top: -40px; | |
| left: 6px; | |
| background: var(--primary-color); | |
| color: white; | |
| padding: 8px; | |
| text-decoration: none; | |
| border-radius: 4px; | |
| z-index: 1000; | |
| } | |
| .skip-link:focus { | |
| top: 6px; | |
| } | |
| /* Enhanced Animation Classes */ | |
| .fade-in { | |
| animation: fadeIn 0.6s cubic-bezier(0.4, 0, 0.2, 1); | |
| } | |
| @keyframes fadeIn { | |
| from { | |
| opacity: 0; | |
| transform: translateY(10px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| .slide-up { | |
| animation: slideUp 0.6s cubic-bezier(0.4, 0, 0.2, 1); | |
| } | |
| @keyframes slideUp { | |
| from { | |
| opacity: 0; | |
| transform: translateY(30px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| .scale-in { | |
| animation: scaleIn 0.5s cubic-bezier(0.4, 0, 0.2, 1); | |
| } | |
| @keyframes scaleIn { | |
| from { | |
| opacity: 0; | |
| transform: scale(0.9); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: scale(1); | |
| } | |
| } | |
| /* Enhanced Utility Classes */ | |
| .text-gradient { | |
| background: var(--gradient-primary); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| background-clip: text; | |
| } | |
| .text-gradient-secondary { | |
| background: var(--gradient-secondary); | |
| -webkit-background-clip: text; | |
| -webkit-text-fill-color: transparent; | |
| background-clip: text; | |
| } | |
| .shadow-custom { | |
| box-shadow: var(--box-shadow); | |
| } | |
| .shadow-lg-custom { | |
| box-shadow: var(--box-shadow-lg); | |
| } | |
| .shadow-xl-custom { | |
| box-shadow: var(--box-shadow-xl); | |
| } | |
| .border-radius-custom { | |
| border-radius: var(--border-radius); | |
| } | |
| .bg-gradient-primary { | |
| background: var(--gradient-primary); | |
| } | |
| .bg-gradient-secondary { | |
| background: var(--gradient-secondary); | |
| } | |
| .bg-gradient-accent { | |
| background: var(--gradient-accent); | |
| } | |
| /* Enhanced Progress Indicators */ | |
| .progress-custom { | |
| height: 10px; | |
| border-radius: var(--border-radius-sm); | |
| background-color: #e2e8f0; | |
| overflow: hidden; | |
| box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1); | |
| } | |
| .progress-bar-custom { | |
| height: 100%; | |
| background: var(--gradient-primary); | |
| transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1); | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .progress-bar-custom::after { | |
| content: ''; | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| bottom: 0; | |
| background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent); | |
| animation: progress-shimmer 2s infinite; | |
| } | |
| @keyframes progress-shimmer { | |
| 0% { transform: translateX(-100%); } | |
| 100% { transform: translateX(100%); } | |
| } | |
| /* Enhanced Tooltip */ | |
| .tooltip-inner { | |
| background-color: var(--dark-color); | |
| border-radius: var(--border-radius-sm); | |
| font-size: 0.875rem; | |
| padding: 0.5rem 0.75rem; | |
| box-shadow: var(--box-shadow); | |
| } | |
| /* Enhanced Custom Scrollbar */ | |
| ::-webkit-scrollbar { | |
| width: 10px; | |
| height: 10px; | |
| } | |
| ::-webkit-scrollbar-track { | |
| background: var(--light-gray); | |
| border-radius: var(--border-radius-sm); | |
| } | |
| ::-webkit-scrollbar-thumb { | |
| background: var(--gradient-primary); | |
| border-radius: var(--border-radius-sm); | |
| border: 2px solid var(--light-gray); | |
| } | |
| ::-webkit-scrollbar-thumb:hover { | |
| background: var(--gradient-secondary); | |
| } | |
| ::-webkit-scrollbar-corner { | |
| background: var(--light-gray); | |
| } | |
| /* Print Styles */ | |
| @media print { | |
| .navbar, .footer, .hero-scroll-indicator, .floating-icon-container { | |
| display: none ; | |
| } | |
| .hero-section { | |
| background: white ; | |
| color: black ; | |
| padding: 1rem 0 ; | |
| } | |
| .card { | |
| box-shadow: none ; | |
| border: 1px solid #ddd ; | |
| } | |
| .btn { | |
| border: 1px solid #ddd ; | |
| background: white ; | |
| color: black ; | |
| } | |
| } | |
| /* Playground-Specific Styles */ | |
| .playground-visual { | |
| position: relative; | |
| display: flex; | |
| justify-content: center; | |
| align-items: center; | |
| height: 200px; | |
| } | |
| .playground-icon { | |
| width: 100px; | |
| height: 100px; | |
| background: rgba(255, 255, 255, 0.15); | |
| border-radius: 50%; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| font-size: 2.5rem; | |
| color: white; | |
| backdrop-filter: blur(20px); | |
| border: 2px solid rgba(255, 255, 255, 0.3); | |
| position: relative; | |
| } | |
| .audio-player-container { | |
| border: 2px solid #e2e8f0; | |
| transition: var(--transition); | |
| } | |
| .audio-player-container:hover { | |
| border-color: var(--primary-color); | |
| box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1); | |
| } | |
| .stat-item { | |
| padding: 1rem; | |
| text-align: center; | |
| } | |
| .stat-item i { | |
| font-size: 1.5rem; | |
| margin-bottom: 0.5rem; | |
| display: block; | |
| } | |
| .stat-value { | |
| font-size: 1.25rem; | |
| font-weight: 700; | |
| color: var(--dark-color); | |
| margin-bottom: 0.25rem; | |
| } | |
| .stat-label { | |
| font-size: 0.875rem; | |
| color: var(--text-muted); | |
| font-weight: 500; | |
| } | |
| .card-header { | |
| border-bottom: none; | |
| border-radius: var(--border-radius) var(--border-radius) 0 0 ; | |
| } | |
| /* Enhanced Form Controls for Playground */ | |
| .playground .form-control, | |
| .playground .form-select { | |
| border: 2px solid #e2e8f0; | |
| border-radius: var(--border-radius-sm); | |
| padding: 1rem; | |
| font-size: 1rem; | |
| transition: var(--transition); | |
| } | |
| .playground .form-control:focus, | |
| .playground .form-select:focus { | |
| border-color: var(--primary-color); | |
| box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.1); | |
| transform: translateY(-1px); | |
| } | |
| .playground .btn-group .btn { | |
| border-radius: var(--border-radius-sm); | |
| } | |
| .playground .btn-group .btn:first-child { | |
| border-top-right-radius: 0; | |
| border-bottom-right-radius: 0; | |
| } | |
| .playground .btn-group .btn:last-child { | |
| border-top-left-radius: 0; | |
| border-bottom-left-radius: 0; | |
| } | |
| /* Audio Player Enhancements */ | |
| audio::-webkit-media-controls-panel { | |
| background-color: var(--light-gray); | |
| border-radius: var(--border-radius-sm); | |
| } | |
| audio::-webkit-media-controls-play-button, | |
| audio::-webkit-media-controls-pause-button { | |
| background-color: var(--primary-color); | |
| border-radius: 50%; | |
| } | |
| audio::-webkit-media-controls-timeline { | |
| background-color: var(--light-gray); | |
| border-radius: var(--border-radius-sm); | |
| } | |
| audio::-webkit-media-controls-current-time-display, | |
| audio::-webkit-media-controls-time-remaining-display { | |
| color: var(--text-color); | |
| font-weight: 500; | |
| } | |
| /* Reduced Motion Support */ | |
| @media (prefers-reduced-motion: reduce) { | |
| *, | |
| *::before, | |
| *::after { | |
| animation-duration: 0.01ms ; | |
| animation-iteration-count: 1 ; | |
| transition-duration: 0.01ms ; | |
| } | |
| .hero-background-animation, | |
| .floating-icon, | |
| .pulse-ring, | |
| .hero-scroll-indicator, | |
| .playground-icon { | |
| animation: none ; | |
| } | |
| } | |