* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; background-color: #0f172a; color: #e2e8f0; } .app { min-height: 100vh; display: flex; flex-direction: column; } .app-header { padding: 2rem; text-align: center; background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%); border-bottom: 1px solid #334155; } .app-header h1 { font-size: 2.5rem; margin-bottom: 0.5rem; color: #ef4444; } .app-header p { font-size: 1.1rem; color: #94a3b8; } .app-main { flex: 1; padding: 2rem; max-width: 1400px; margin: 0 auto; width: 100%; } .video-section { margin-bottom: 3rem; } .player-wrapper { max-width: 1200px; margin: 0 auto 2rem; border-radius: 12px; overflow: hidden; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5); } .no-video { aspect-ratio: 16 / 9; background-color: #1e293b; display: flex; align-items: center; justify-content: center; color: #64748b; font-size: 1.2rem; } .controls-section { max-width: 1200px; margin: 0 auto; display: flex; flex-direction: column; gap: 0.85rem; } .url-input { display: flex; gap: 1rem; } .url-input input { flex: 1; padding: 0.75rem 1rem; background-color: #1e293b; border: 2px solid #334155; border-radius: 8px; color: #e2e8f0; font-size: 1rem; transition: all 0.2s; } .url-input input:focus { outline: none; border-color: #ef4444; background-color: #0f172a; } .url-input input:disabled { opacity: 0.5; cursor: not-allowed; } .url-input button { padding: 0.75rem 2rem; background-color: #334155; border: 2px solid #475569; border-radius: 8px; color: #e2e8f0; font-size: 1rem; font-weight: 600; cursor: pointer; transition: all 0.2s; } .url-input button:hover { background-color: #475569; border-color: #64748b; } .url-input button.active { background-color: #ef4444; border-color: #ef4444; color: white; } .toggle-row { display: inline-flex; align-items: center; gap: 0.6rem; color: #cbd5e1; font-size: 0.95rem; } .toggle-row input[type='checkbox'] { width: 16px; height: 16px; accent-color: #ef4444; } .media-test-section { max-width: 1200px; margin: 2rem auto 0; } .media-test-section h2 { font-size: 1.8rem; color: #ef4444; margin-bottom: 0.35rem; } .media-test-subtitle { color: #94a3b8; margin-bottom: 1.3rem; } .media-test-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 1.25rem; } .media-test-card { background-color: #1e293b; border: 1px solid #334155; border-radius: 12px; padding: 1rem; } .media-test-card h3 { color: #f1f5f9; margin-bottom: 0.45rem; } .media-test-card p { color: #cbd5e1; font-size: 0.95rem; margin-bottom: 0.85rem; } .media-test-player { border-radius: 10px; overflow: hidden; } .media-test-player-gif { max-width: 320px; } .features-section { margin-top: 4rem; } .features-section h2 { font-size: 2rem; margin-bottom: 2rem; text-align: center; color: #ef4444; } .features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 2rem; } .feature { background-color: #1e293b; padding: 1.5rem; border-radius: 12px; border: 1px solid #334155; } .feature h3 { font-size: 1.3rem; margin-bottom: 1rem; color: #f1f5f9; } .feature ul { list-style: none; } .feature li { padding: 0.5rem 0; color: #cbd5e1; font-size: 0.95rem; } kbd { display: inline-block; padding: 2px 6px; background-color: #334155; border: 1px solid #475569; border-radius: 4px; font-size: 0.85rem; font-family: monospace; color: #f1f5f9; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); } .app-footer { padding: 2rem; text-align: center; background-color: #0f172a; border-top: 1px solid #334155; color: #64748b; } .app-footer p { margin: 0.25rem 0; } @media (max-width: 768px) { .app-header h1 { font-size: 2rem; } .app-main { padding: 1rem; } .url-input { flex-direction: column; } .media-test-grid { grid-template-columns: 1fr; } .media-test-player-gif { max-width: 100%; } .features-grid { grid-template-columns: 1fr; } }