Spaces:
Running
Running
/* TTSFM Web Application Custom Styles */ | |
:root { | |
/* Clean Color Palette */ | |
--primary-color: #2563eb; | |
--primary-dark: #1d4ed8; | |
--primary-light: #3b82f6; | |
--secondary-color: #64748b; | |
--secondary-dark: #475569; | |
--accent-color: #10b981; | |
--accent-dark: #059669; | |
/* Status Colors */ | |
--success-color: #10b981; | |
--warning-color: #f59e0b; | |
--danger-color: #ef4444; | |
--info-color: #3b82f6; | |
/* Clean Neutral Colors */ | |
--light-color: #ffffff; | |
--light-gray: #f8fafc; | |
--medium-gray: #64748b; | |
--dark-color: #1e293b; | |
--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: var(--border-radius-sm); | |
transition: all 0.2s ease; | |
letter-spacing: 0.025em; | |
} | |
.btn-primary { | |
background-color: var(--primary-color); | |
border-color: var(--primary-color); | |
color: white; | |
} | |
.btn-primary:hover { | |
background-color: var(--primary-dark); | |
border-color: var(--primary-dark); | |
color: white; | |
} | |
.btn-outline-primary { | |
border: 2px solid var(--primary-color); | |
color: var(--primary-color); | |
background: transparent; | |
} | |
.btn-outline-primary:hover { | |
background: var(--primary-color); | |
border-color: var(--primary-color); | |
color: white; | |
} | |
.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 2px rgba(0, 0, 0, 0.05); | |
transition: all 0.2s ease; | |
border-radius: 12px; | |
background: white; | |
} | |
.card:hover { | |
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.07); | |
border-color: #d1d5db; | |
} | |
.card-body { | |
padding: 2rem; | |
} | |
/* Clean Hero Section */ | |
.hero-section { | |
background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%); | |
color: var(--text-color); | |
padding: 6rem 0; | |
min-height: 80vh; | |
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: var(--border-radius-sm); | |
border: 2px solid #e2e8f0; | |
transition: var(--transition); | |
padding: 0.875rem 1rem; | |
font-size: 1rem; | |
background-color: #ffffff; | |
color: var(--text-color); | |
} | |
.form-control:focus, .form-select:focus { | |
border-color: var(--primary-color); | |
box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1); | |
outline: none; | |
background-color: #ffffff; | |
} | |
.form-control:hover, .form-select:hover { | |
border-color: #cbd5e1; | |
} | |
.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 ; | |
} | |
} | |